Модуль 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 запрос (что бы добавить модуль в список сторонних модулей):
Code
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. В нужном месте в шаблоне profile_popup.tpl пропишите: {include file="engine/modules/online/status.php?module=profile_ajax&user_login={login}"} (Смотрите FAQ) 12. В нужном месте в шаблоне 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 адресов). [о] Теперь счётчик пользователей, гостей, роботов считает сколько их всего на сайте, а не сколько их выводится в списке (актуально для тех кто выводит в списке только их часть). [о] Множество мелких улучшений, оптимизаций.
Чем ваш модуль отличается от подобных? Список огромный, читайте документацию.
Видят ли пользователи приватные данные администрации? Это вы сами решаете кто и что видит, с помощью шаблона и тегов-условий, в стандартном шаблоне модуля у групп с ID 1, 2 (административные группы) скрыт IP адресс, Proxy, страна, город, ОС, браузер, однако эти группы видят приватные данные всех остальных групп, включая свои же (Один администратор видит данные другого администратора).
Насколько сильно модуль нагружает хостинг? Насколько сильно он будет нагружать хостинг зависит от ваших настроек модуля, т.к. модуль очень гибко настраивается. Например отключив показ страны, города, и флага страны, можно сэкономить на каждом показе немного RAM за счет отключения GeoIP базы. Отключив последнее посещение и местонахождение можно сэкономить 1 запрос к БД, на очень посещаемых сайтах это будет существенное снижение нагрузки. Так же можно поставить лимит на гостей равным нулю, это уберет еще один запрос к БД при просмотре страницы гостем.
Что такое функция "Статус пользователя"? Это новая функция в модуле Online, которую многие просили реализовать у разработчика DLE. Она позволяет выводить статус пользователя (Online/Offline), а так же его текущее местоположение (только если пользователь Online) в профиле/карточке пользователя/персональных сообщениях/комментариях/краткой новости (если кеширование отключено)/полной новости.
Насколько сильно функция "Статус пользователя" нагружает хостинг? Вывод одного статуса/местоположения добавляет 1 запрос к БД, т.е. если у вас на странице с материалом выводится 10 комментариев, то это добавит 10 запросов к БД. Но хочу заметить что запросы "легкие" (проверяется есть ли в базе такой логин) и выполняются по базе с небольшим количеством строк. Так же вы можете существенно снизить нагрузку путем вывода статуса пользователя в комментариях только для пользователей (с помощью тегов-условий). Вы можете особо не беспокоится про нагрузку, но рекомендую использовать функцию рационально.
Как сделать вывод статуса пользователя в карточке пользователя? Без изменений в файле движка этого не получится сделать (Спасибо разработчику DLE). Если вам нужно сделать вывод статуса пользователя в карточке пользователя, то в файле /engine/ajax/profile.php найдите $tpl->set( '{lastdate}', langdate("j.m.Y G:i", $row['lastdate'])); и ниже добавьте $tpl->set( '{login}', stripslashes($row['name']));, после этого функция заработает.
Лицензия: Доступна только бесплатная версия с копирайтом разработчика. Удаление копирайта влечет за собой правовую и уголовную ответственность за нарушение авторских прав. Использование кода модуля в сторонних проектах без разрешения автора - ЗАПРЕЩЕНО!
От автора: Продолжение модуля Online v0.1 Beta. Модуль поставляется "как есть", без каких либо гарантий и/или обязательств. Скачивая модуль со сторонних сайтов вы сами несете полную ответственность за возможное содержание вредоносного кода. Любые изменения оригинального архива дистрибутива без согласования с разработчиком ЗАПРЕЩЕНЫ (В том числе и при копировании материала.)! При копировании материала обязательно указывайте кликабельную индексируемую ссылку на данную тему (http://www.softolab.com/forum/25-327-1)!
Скачать патчи для модуля с нашего сайта: Доступно только для пользователей - Устраняет ошибку в функции "Статус пользователя", из-за которой у пользователей статус всегда Offline.
В данной теме пишем об ошибках в модуле, пожелания к будущим версиям, предложения и т.п.
Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Fatal error: Call to undefined function geoip_record_by_addr() in /home/xxxxxx/domains/xxxxxxx/public_html/engine/modules/online/online.php(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 340
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
nkaykut, у вас кажется GeoIP база подключается хостингом, это вызывает конфликт. Для более подробной информации нужно разбираться на месте.
******
nkaykut, you seem to be connected GeoIP database hosting, this causes conflict. For more detailed information should be dealt with on the spot. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
nkaykut, Удаление строки невозможно.
Есть варианты: 1. Отключить подключение GeoIP базы на хостинге. 2. Отключить в настройках модуля все функции использующие GeoIP базу.
**********************
nkaykut, Deleting a row is impossible.
There are options: 1. Disable connection to the GeoIP database hosting. 2. Disable the module settings, all of the functions using the GeoIP database. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
nkaykut, не за что, если что, обращайтесь за помощью.
***********
nkaykut, not for what, if anything, ask for help. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
Уважаемые пользователи которые используют модуль Online, начата разработка следующей версии модуля, вы еще можете внести свои предложения по функционалу модуля в данной теме. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
Уважаемые пользователи которые используют модуль Online, заранее уведомляю вас что теперь для работы всех последующих версий модуля у вас на сервере (хостинге) должен быть установлен ionCube (расширение PHP ionCube Loader), иначе модуль просто не будет работать.
Данная мера вынужденная, т.к. модуль и так предоставляется на бесплатной основе, но некоторые "ухищряются" удалить и копирайты разработчика, что сводит на нет все желание и далее продолжать работу над модулем, по этому теперь он будет выпускаться только с нормальной защитой.
Старые версии будут продолжать работать, но обновляться без установленного ionCube вы не сможете.
По этому не поленитесь, и уточните вопрос по поводу ionCube заранее, и если его нет, то установите его (либо попросите установить его хостинг-провайдера). Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
Уважаемые пользователи которые используют модуль Online, в связи с отсутствием свободного времени, а так же из-за некоторых технических сложностей, релиз следующей версии модуля откладывается на не определенный срок, однако разработка не останавливается. Ожидайте рассылки в ЛС и на e-mail. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Зарегистрирован:05.10.10 Сообщений: 383
Откуда: Российская Федерация
Various, возможно он "ругается" на закодированный код, точнее сказать не могу т.к. не пользуюсь NOD32, но могу заверить, что ничего вредоносного там нет. Что именно вам не понравилось в online.php? Вы так же можете использовать virustotal.com для проверки дистрибутива на наличие вредоносного кода, и вы увидите, что кроме NOD32 никто на него не "кричит", следственно можно сделать вывод что это ложное срабатывание.
PS: У Nod32 выявлена проблема, он ругается на все закодированные файлы такого плана, хотя в них может быть всего пару строчек типа "echo "Hello World!"", т.е. он ругается именно на метод шифрования, а не на сам код который был закодирован с помощью данного метода.
Вообще по поводу закодированного кода - это для того что бы особо ушлые администраторы копирайты разработчика не убирали. Потомственный системный администратор Admin. Очное и заочное (по IP-адресу) лечение компьютеров. Гадание по портам (COM, LPT, USB). Верну утраченную ОС, сниму вирусную порчу и венец безИнтернетия. Снимаю с программ сглаз правообладателей, выполню отворот RIAA, поиск потерянных файлов по имиджу жесткого диска!
Информационно - развлекательный портал softolab.com.
При копировании материалов с сайта активная индексируемая ссылка на сайт softolab.com ОБЯЗАТЕЛЬНА.
Сайт оптимизирован для просмотра в браузерах Mozilla Firefox и Opera при разрешении экрана 1280x1024
Copyright SOFTOLAB 2010-2024