Jump to content

Вопрос по плагину «Кто онлайн»

Featured Replies

Posted
comment_187663

Ребят, может кто помочь, сделать, чтобы плагин отображал рядом с ником , с какого устройства человек подключился (телефон, пк..) ?

Работа оплачивается по достоинству. (Размусоливание не предлагайте. Работа-оплата!)

 

4B4E2131-1BBE-4310-93B4-FB28B1580F26.jpeg.9741b163856094f284c3f22c690c7733.jpeg

Edited by Donjuan

comment_187664
19 минут назад, Donjuan сказал:

Работа оплачивается по достоинству.

И как это определить? Может сумму в рублях назовете? :)

  • Author
comment_187665
5 минут назад, Desti сказал:

И как это определить? Может сумму в рублях назовете? :)

Сумму говорит «продавец» или я ошибаюсь?!

comment_187667

Достаточно просто оказалось, но требует вмешательства в настройки php, загрузку стороннего файла на сайт. А это означает, что просто плагином не обойтись, для простого пользователя сложно будет. 

image.png.def623f7cfac7c586c1d317a34ac1bbe.png

  • Author
comment_187668
1 минуту назад, Desti сказал:

Достаточно просто оказалось, но требует вмешательства в настройки php, загрузку стороннего файла на сайт. А это означает, что просто плагином не обойтись, для простого пользователя сложно будет. 

image.png.def623f7cfac7c586c1d317a34ac1bbe.png

Сможете помочь?

  • Author
comment_187673
2 минуты назад, Desti сказал:

Нет, но я могу сказать как, если кто-то захочет это реализовать. 

Был бы признателен :)

comment_187675

1. Делаем хук на виджет IPS\core\widgets\whosOnline - на функцию render()
2. В начале цикла foreach( $users as $row ) добавляем

            $r = get_browser($row['browser'], true);            

Дальше на ваш вкус... Функция возвращает массив данных, нужный нам ключ - ['device_type'], там может быть "Mobile Phone", "Mobile Device", "Tablet", "Desktop", "TV Device", "Console", "FonePad", "Ebook Reader", "Car Entertainment System" и "unknown". Добавляем поле $row['device_type'] = 'имя иконки' в зависимости от полученного типа (case, например) . Делаем хук на шаблон виджета, после имени пользователя добавляем нужную fa-иконку через переменную. 
3. Идем на сайт browscap.org и качаем файл lite_php_browscap.ini
4. Копируем файл на сервер, например в uploads. 
5. В актуальном файле php.ini ищем блок [browscap], раскомментариваем строку ;browscap = extra/browscap.ini (убираем точку с запятой) и меняем путь на наш от корня, напр. browscap = /home/user/site.ru/uploads/lite_php_browscap.ini
6. Перезапускаем php (апач, php-fpm).
7. Создаем task в плагине или cron на ежедневное обновление файла с сайта browscap.org - опять-таки, на ваш вкус. Пример cron скрипта можно найти в комментах на www.php.net/manual/en/function.get-browser.php

Виджет кешированный, для обновления (при отладке) надо постоянно чистить кеш.

Возможно есть и другие методы (со сторонними библиотеками), но этот самый простой и точный, база юзер-агентов всегда актуальна.

Удачи

  • Author
comment_187681
1 час назад, Zero108 сказал:

Donjuan заплати уже человеку 50 долларов. Решение уже готово, по сути. Сделает тебе плагин.

Разве что так

  • Author
comment_187709

 

@Exception Спасибо за создание рабочего плагина! 🙂

Edited by Donjuan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.