Модуль Online позволяет выводить на вашем сайте блок с информацией о пользователях сайта, гостях, роботах.
В данном блоке вы сможете увидеть IP адрес, Proxy, страну, город, ОС, браузер, группу пользователя, последний визит на сайт, местонахождение на сайте.
Это финальная версия модуля, модуль набрался стабильности, было исправлено огромное количество ошибок.
В модуле присутствует админ панель для более удобного управления модулем, языковой пакет для перевода модуля на другие языки, шаблоны с огромным количеством тегов с помощью которых вы сможете настраивать модуль практически как вам угодно.
Возможности модуля:
- Вывод общего количества посетителей на сайте
- Вывод количества пользователей на сайте
- Вывод количества гостей на сайте
- Вывод количества роботов на сайте
- Вывод списка пользователей на сайте
- Вывод списка гостей на сайте
- Вывод списка роботов на сайте
- Вывод списка последних посетителей сайта
- Показ IP адреса
- Показ Proxy
- Показ страны к которой относится IP адрес
- Показ города к которому относится IP адрес
- Показ ОС пользователя
- Показ браузера
- Показ группы пользователя
- Показ последнего визита пользователя
- Показ местонахождения пользователя или робота на сайте
- Показ иконки страны к которому относится IP адрес
- Показ иконки браузера
- Показ AJAX-карточки пользователя при клике по его нику
- Функция "Статус пользователя" которая выводит статус пользователя на сайте (Online/Offline) и местоположение пользователя в профиле/карточке пользователя/персональных сообщениях/комментариях/краткой новости (если кеширование отключено)/полной новости.
Возможности админ панели модуля:
- Изменение настроек модуля
- Просмотр общей статистики
- Просмотр детальной статистики
- Очистка БД модуля
Нагрузка:
- Используется БД mySQL, но структура модуля подразумевает гибкую настройку, и как следствие вы можете ограничится минимальной нагрузкой на mySQL сервер
- Добавляет от 1 до 3-x запросов к БД
Отличия этого модуля от подобных:
- БД mySQL (менее ресурсоемко и более надёжно по сравнению с файловой БД)
- Админ панель модуля
- Множество настроек
- Языковой пакет
- Модуль полностью шаблонизирован
- Модуль дополнительно настраивается с помощью тегов-условий в шаблонах
- Очистка БД модуля через админ панель модуля (снижает нагрузку когда ID строк доходит до миллионных значений)
- Модуль регулярно обновляется (добавляются новые функции, устраняются ошибки)
Установка
При установке utf-8 версии модуля замените везде cp1251 на utf-8.
1. Распакуйте все файлы из скаченного архива.
2. В папке "templates" переименуйте папку "ВАШ_ШАБЛОН" в название вашего шаблона.
3. Загрузите все распакованные файлы из архива в корневую папку вашего сайта.
4. Выполните SQL запрос (что бы создать БД модуля):
Code
DROP TABLE IF EXISTS `dle_online`;
CREATE TABLE `dle_online` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` varchar(11) NOT NULL,
`login` varchar(40) NOT NULL,
`user_group` varchar(11) NOT NULL,
`ip` varchar(16) NOT NULL,
`proxy` varchar(255) NOT NULL,
`time` varchar(20) NOT NULL,
`user_agent` varchar(255) NOT NULL,
`operating_system` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
`foto` varchar(40) NOT NULL,
`key` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `key` (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
5. Выполните SQL запрос (что бы добавить модуль в список сторонних модулей):
INSERT INTO `dle_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES ('online', 'Online v0.1 Final', 'Панель управления модулем', 'online.png', '1');
6. В нужном месте в шаблоне main.tpl пропишите: {include file="engine/modules/online/online.php"}
7. В нужном месте в шаблоне shortstory.tpl пропишите: {include file="engine/modules/online/status.php?module=news_short&user_login={login}"}
8. В нужном месте в шаблоне fullstory.tpl пропишите: {include file="engine/modules/online/status.php?module=news_full&user_login={login}"}
9. В нужном месте в шаблоне comments.tpl пропишите: {include file="engine/modules/online/status.php?module=comments&user_login={login}"}
10. В нужном месте в шаблоне userinfo.tpl пропишите: {include file="engine/modules/online/status.php?module=profile&user_login={usertitle}"}
11. В нужном месте в шаблоне pm.tpl пропишите: {include file="engine/modules/online/status.php?module=pm&user_login={author}"}
Шаблоны
main.tpl - Главный шаблон модуля, выводит основной контент.
Переменные:
{all_number} - Выводит общее количество посетителей на сайте.
{users_list_number} - Выводит количество пользователей на сайте.
{guests_list_number} - Выводит количество гостей на сайте.
{robots_list_number} - Выводит количество роботов на сайте.
[users_list]{users_list}[/users_list] - Выводит список пользователей, только если в списке есть хотя бы один пользователь.
[not_users_list] текст [/not_users_list] - Выводит какой-либо текст, только если в списке нет ни одного пользователя.
[guests_list]{guests_list}[/guests_list] - Выводит список гостей, только если в списке есть хотя бы один гость.
[not_guests_list] текст [/not_guests_list] - Выводит какой-либо текст, только если в списке нет ни одного гостя.
[robots_list]{robots_list}[/robots_list] - Выводит список роботов, только если в списке есть хотя бы один робот.
[not_robots_list] текст [/not_robots_list] - Выводит какой-либо текст, только если в списке нет ни одного робота.
link.tpl - Шаблон ссылки.
Переменные:
{profile_link} - Выводит ссылку на профиль пользователя и его AJAX-карточку пользователя, для гостей и роботов вырезается из шаблона.
{hint} - Выводит код всплывающего окна информации о пользователе, госте, роботе.
{user_login} - Выводит логин пользователя, IP адрес гостя, название робота.
[user_group=X] текст [/user_group] - Выводит какой-либо текст в списке пользователей, где "X" это ID группы показываемого пользователя, выводиться только если ID группы показываемого пользователя соответствует указанному.
[not_user_group=X] текст [/not_user_group] - Выводит какой-либо текст в списке пользователей, где "X" это ID группы пользователей которым НЕ нужно показывать текст.
hint.tpl - Шаблон всплывающего окна информации о пользователе, госте, роботе.
Переменные:
[foto]{foto_url}[/foto] - Выводит url фото пользователя.
[not_foto] текст [/not_foto] - Выводит какой-либо текст в случае если у пользователя нет фото.
[ip]{ip}[/ip] - Выводит IP адрес.
[proxy]{proxy}[/proxy] - Выводит прокси адрес.
[country]{country}[/country] - Выводит страну.
[city]{city}[/city] - Выводит город.
[user_operating_system]{user_operating_system}[/user_operating_system] - Выводит операционную систему.
[user_agent]{user_agent}[/user_agent] - Выводит браузер.
[user_group]{user_group}[/user_group] - Выводит группу пользователя на сайте.
[last_visit]{last_visit}[/last_visit] - Выводит дату и время последнего посещения сайта.
[user_location]{user_location}[/user_location] - Выводит местонахождение на сайте.
[countries_icon]{countries_icon}[/countries_icon] - Выводит иконку флага страны.
[browser_icon]{browser_icon}[/browser_icon] - Выводит иконку браузера.
[user_group=X] текст [/user_group] - Выводит какой-либо текст, где "X" это ID группы для которой выводить текст.
[not_user_group=X] текст [/not_user_group] - Выводит какой-либо текст, где "X" это ID группы для которой НЕ выводить текст.
[user_group_view=X] текст [/user_group_view] - Выводит какой-либо текст, где "X" это ID группы к которой относится показываемый пользователь.
[not_user_group_view=X] текст [/not_user_group_view] - Выводит какой-либо текст, где "X" это ID группы к которой НЕ относится показываемый пользователь.
news_short.tpl, news_full.tpl, comments.tpl, profile.tpl, pm.tpl - Шаблоны для функции "Статус пользователя".
Переменные:
[online] текст [/online] - Выводит какой-либо текст, если пользователь Online.
[not_online] текст [/not_online] - Выводит какой-либо текст, если пользователь Offline.
[location]{location}[location] - Выводит текущее местоположение пользователя, только если он Online.
[not_location] текст [/not_location] - Выводит какой-либо текст, если у пользователя не определено местоположение.
История изменений
Информация:
[о] - Обновлено / изменено / усовершенствованно
[@] - Исправлена ошибка
[+] - Добавлено
[-] - Убрано
Online v0.1 Final:
[@] Исправлено несколько ошибок в определении местоположения.
[@] Множество незначительных ошибок.
[+] Добавлена функция "Статус пользователя", которая выводит статус пользователя на сайте (Online/Offline) и местоположение пользователя в профиле/карточке пользователя/персональных сообщениях/комментариях/краткой новости (если кеширование отключено)/полной новости.
[+] Добавлены префикс и суффикс имени группы для пользователей/гостей/роботов.
[+] В шаблоне hint.tpl добавлены теги: [user_group=X] текст [/user_group], [not_user_group=X] текст [/not_user_group], [user_group_view=X] текст [/user_group_view], [not_user_group_view=X] текст [/not_user_group_view], [foto] текст [/foto], [not_foto] текст [/not_foto], {foto_url}.
[+] В админ панели модуля появилась возможность отключать показ фото пользователя.
[+] Добавлено определение ОС Windows 8, а так же скорректирован список ОС для более точного определения.
[-] В шаблоне hint.tpl удалён тег {foto}.
[о] GeoIP база обновлена на актуальную версию.
[о] Изменен алгоритм определения уникальности гостей (теперь уникальность определяется по IP + Proxy + ОС + User Agent), это позволило выводить всех гостей на сайте, даже если большая их часть "сидит" на одном IP адресе.
[о] Изменен алгоритм определения уникальности роботов (теперь уникальность определяется по IP + Proxy + User Agent).
[о] Теперь пользователям/гостям/роботам можно показывать блок, но они не будут учитываться в статистике модуля если лимит стоит 0 (Убирает 1 запрос добавления строки в БД, на крупных сайтах которые например показывают модуль для гостей, но не выводят их список, это даст приличное снижение нагрузки. В счетчиках посетителей гости тогда тоже учитываться не будут.), раньше все кто видел блок учитывались в статистике.
[о] Теперь Proxy пользователя заносится в БД только если он отличается от IP адреса пользователя, раньше заносился в БД даже когда был идентичен IP адресу (Показываться он будет теперь только в том случае если отличается от IP адреса).
[о] В админ панели модуля списки пользователей/гостей/роботов теперь формируются по дате последнего посещения.
[о] Обновлен стандартный шаблон, теперь он стал более универсальным, появились дополнительные возможности.
[о] Множество мелких улучшений, оптимизаций.
Online v0.1 Beta:
[@] Многочисленные ошибки в определении местоположения (Постоянные "Страница 404").
[@] Ошибка "Пользователь не найден" при просмотре AJAX-карточки пользователя, если ник пользователя содержит кириллицу.
[@] Множество незначительных ошибок.
[+] Языковой пакет.
[+] Очистка БД модуля через админ панель.
[+] Фильтрация названия материалов на одинарные и двойные кавычки (из-за которых не отображалось всплывающее окно).
[+] Фильтрация названия статических страниц на одинарные и двойные кавычки (из-за которых не отображалось всплывающее окно).
[+] Выбор типа даты и времени последнего посещения (Текущий день выводить как "Сегодня").
[+] Установка своего типа даты.
[о] Изменен принцип обработки данных пользователей, теперь привязка идет по ID пользователя, а не по ID + IP адрес (Не будет двух одинаковых пользователей в списке, если находиться под одним аккаунтом с разных IP адресов).
[о] Теперь счётчик пользователей, гостей, роботов считает сколько их всего на сайте, а не сколько их выводится в списке (актуально для тех кто выводит в списке только их часть).
[о] Множество мелких улучшений, оптимизаций.
FAQ === Вопрос/Ответ
Чем ваш модуль отличается от подобных?
Список огромный, читайте документацию.
Видят ли пользователи приватные данные администрации?
Это вы сами решаете кто и что видит, с помощью шаблона и тегов-условий, в стандартном шаблоне модуля у групп с ID 1, 2 (административные группы) скрыт IP адресс, Proxy, страна, город, ОС, браузер, однако эти группы видят приватные данные всех остальных групп, включая свои же (Один администратор видит данные другого администратора).
Насколько сильно модуль нагружает хостинг?
Насколько сильно он будет нагружать хостинг зависит от ваших настроек модуля, т.к. модуль очень гибко настраивается. Например отключив показ страны, города, и флага страны, можно сэкономить на каждом показе немного RAM за счет отключения GeoIP базы. Отключив последнее посещение и местонахождение можно сэкономить 1 запрос к БД, на очень посещаемых сайтах это будет существенное снижение нагрузки. Так же можно поставить лимит на гостей равным нулю, это уберет еще один запрос к БД при просмотре страницы гостем.
Что такое функция "Статус пользователя"?
Это новая функция в модуле Online, которую многие просили реализовать у разработчика DLE. Она позволяет выводить статус пользователя (Online/Offline), а так же его текущее местоположение (только если пользователь Online) в профиле/карточке пользователя/персональных сообщениях/комментариях/краткой новости (если кеширование отключено)/полной новости.
Насколько сильно функция "Статус пользователя" нагружает хостинг?
Вывод одного статуса/местоположения добавляет 1 запрос к БД, т.е. если у вас на странице с материалом выводится 10 комментариев, то это добавит 10 запросов к БД. Но хочу заметить что запросы "легкие" (проверяется есть ли в базе такой логин) и выполняются по базе с небольшим количеством строк. Так же вы можете существенно снизить нагрузку путем вывода статуса пользователя в комментариях только для пользователей (с помощью тегов-условий). Вы можете особо не беспокоится про нагрузку, но рекомендую использовать функцию рационально.
Лицензия:
Доступна только бесплатная версия с копирайтом разработчика.
Удаление копирайта влечет за собой правовую и уголовную ответственность за нарушение авторских прав.
Использование кода модуля в сторонних проектах без разрешения автора - ЗАПРЕЩЕНО!
От автора:
Продолжение модуля Online v0.1 Beta.
Модуль поставляется "как есть", без каких либо гарантий и/или обязательств.
Скачивая модуль со сторонних сайтов вы сами несете полную ответственность за возможное содержание вредоносного кода.
Любые изменения оригинального архива дистрибутива без согласования с разработчиком ЗАПРЕЩЕНЫ (В том числе и при копировании материала.)!
При копировании материала обязательно указывайте кликабельную индексируемую ссылку на данную тему (http://www.softolab.com/forum/25-327-1)!
Поддерживаемые версии CMS DLE: v9.0, v9.2, v9.3, v9.4, v9.5 (Тестирование происходило на v9.5)
Кодировка модуля: windows-1251, utf-8
Тип распространения: Бесплатно, с копирайтом разработчика.
Скачать модуль с letitbit.net:
Online v0.1 Final (windows-1251) Online v0.1 Final (utf-8)