Модуль "Кто онлайн" (оптимизация + аякс+сворачивание юзеров) для ICMS 1.10

1675
Приветствую.
Дошла очередь и до этого модуля.

Что внутри:

1. автообновление с заданным интервалом
2. сворачивание списка юзеров если их больше заданного количества
3. оптимизация запросов к базе данных
Ссылка на старую тему для 1.9 - тут.


В чем смысл переписывания стандартного модуля (это актуально и для 1.10)

как работает стандартный модуль?

Показать
В версию для 1.10 добавил фишку, о которой уже заходил разговор - сворачивание списка посетителей при большом их количестве. И разворачивании после клика на ссылку "Показать всех".

В настройки вынесены параметры

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

Инструкция:

1. скачать в корень сайта и разархивировать (добавил файл jquery.timers.js) - архив
2. установить в админке
3. при желании - настроить количество юзеров для вывода (по умолчанию выводятся по 5 юзеров онлайн и по 5 юзеров за сегодня, остальные отображаются после клика на ссылку)
4. настроить автообновление блока - по умолчанию раз в минуту

Демо тут
Плагин "Новые сообщения" со звуком (для ICMS 1.10) | Система переписки 1.3 для UTF (последний штрих)
Комментарии (52)
Александр I 8 ноября 2012 в 19:35 +1
Спасибо.
Сейчас проверим...
Kreator 8 ноября 2012 в 19:54 0
+2
Добавили бы тогда автообновление статуса пользователя на аяксе. Т.е. счас если пользователь на сайте и в течении какого времени не переходит или не обновляет страницу - то его как бы нет. Помню поднималась это тема где то ...
а так, пока страница открыта, пользователь всегда он-лайн ...
SJen 8 ноября 2012 в 19:59 0
так я же и писал такой плагин - лежит в дополнениях.
Он для 1.9, но надо еще проверять будет ли работать на 1.10.
Если будет недостаточно простого перекодирования, то выложу на днях.
GarikKR 8 ноября 2012 в 20:19 0
У меня с версии 19 остался, включен в плагинах..и работает!
GarikKR 8 ноября 2012 в 20:20 0
имею в виду "автообновление статуса пользователя"
Rainbow 8 ноября 2012 в 20:29 +1
Спасибо, оч. своевременно. Все меньше пробелов остается для миграции.
HostelB 8 ноября 2012 в 21:17 0
Плюс! Очень полезно!
Def 8 ноября 2012 в 22:33 0
вроде работает)

а что там за плагин-мои социальные профили?)
SJen 8 ноября 2012 в 22:58 0
да это юлогин, но этот момент я еще не доделал
Anonim 8 ноября 2012 в 23:52 0
не работает нормально поле "показать еще" - на сайте более 30 человек за сегодня было, а отображается 7-10
VonKruger 9 ноября 2012 в 00:01 0
У меня вообще не отображаются те, кто был на сайте, хотя в настройках модуля все выставлено. Что-то с модулем не так.
VonKruger 9 ноября 2012 в 00:41 0
И все-таки не обновляется список присутствующих на сайте если не обновлять страницу. Попробовал зайти с двух разных аккаунтов и разных браузеров, эффекта ноль. Женя проверь пожалуйста архив, может опять что-то не то вкинул. Хотя есть один момент: на локальном сайте (Денвер) работает, а на хостинге нет.
SJen 9 ноября 2012 в 06:20 0
на локальном сайте (Денвер) работает
то есть все работает и архив я кинул правильно?)

На сайте надо фаербаг смотреть, если есть какие-то ошибки в скриптах, то это может мешать автообновлению.
VonKruger 9 ноября 2012 в 11:16 0
а что это за фаербаг такой и где его искать?
SJen 9 ноября 2012 в 11:26 0
SJen 9 ноября 2012 в 06:21 0
поставьте рядом стандартный модуль и сравните результат
стандартный модуль показывает 30 человек?
SJen 9 ноября 2012 в 06:28 0
Минона:
не работает нормально поле "показать еще" - на сайте более 30 человек за сегодня было, а отображается 7-10

Надо сравнить со стандартным модулем(поставить два рядом). Подозреваю, что вы увидите в нем те же 7-10 человек.
mogulkhan 9 ноября 2012 в 10:05 0
Если в данный момент на сайте 10 человек онлайн, то получится порядка 40 запросов(а может и больше). Согласитесь, что такое количество запросов к базе данных от одного модуля - это очень много. Вариант с кэшированием отпадает - если посетитель зашел на сайт и не попадает сразу в список "онлайн" - то мало толку от такого модуля.
Немножко не понятен этот момент! Получается данный модуль полезен, но дает нагрузку выше чем дефолтный ?
SJen 9 ноября 2012 в 10:46 0
с точностью до наоборот.
Я наверное не совсем однозначно написал - большая нагрузка у стандартного модуля. У этого же наоборот - несколько запросов вместо нескольких десятков.

Основная фишка этого модуля как раз в оптимизации нагрузки(уменьшении нагрузки на mysql), а остальное необязательные "красивости" и "удобности")
IRATE 10 ноября 2012 в 10:16 0
Конфликтует с выпадающим меню Фото.
IRATE 10 ноября 2012 в 10:24 0
Да и в админке тоже.
SJen 10 ноября 2012 в 10:31 0
не понял, как это модуль "Кто онлайн" может конфликтовать с вашей админкой?)
"Это фантастика!" (с)

И конфликты с меню надо еще смотреть, у меня в модуле используется только jquery.timer - не думаю, что такой безобидный плагин с чем-то конфликтует. Может есть ошибки в скриптах, которые подгружаются ДО модуля? - это можно увидеть в фаербаге. .Если такое есть, то обновление в модуле работать не будет - такое уже видел на некоторых сайтах.
IRATE 10 ноября 2012 в 15:36 0
Только констатирую, что есть. Разбираться в скриптах я пока не дорос.
SJen 10 ноября 2012 в 16:29 0
Да, в любом случае спасибо за то, что проверили у себя.
st.Puh 12 ноября 2012 в 11:13 0
После публикации модуля в меню сайта перестает выпадать-разворачиваться пункты меню в которых есть подпункты.Например
Пункт меню
Фото
в нем перестает показываться
Новое фото
Лучшее фото
и тд.После снятия модуля с публикации все начинает опять работать.
SJen 12 ноября 2012 в 11:31 0
проверьте ошибки в фаербаге
может плагин jquery не закинули
VonKruger 12 ноября 2012 в 12:33 0
Вот этот jquery и выдает ошибку в фаербаге. Ну не знаю, движок чистый закидывал, кроме дефолтного шаблона ничего не переделывал, и то, только кое-какое оформление, но модуль не хочет работать. Что интересно, на локалке все работает нормально, а на хостинге нет, все файлы идентичны, что на локалке, что на хостинге. Модули типа сообщений с аяксом и ленты активности работают нормально, а вот "Кто онлайн" ни как не хочет.
IRATE 12 ноября 2012 в 12:33 0
О чем я писал выше.
SJen 12 ноября 2012 в 13:03 0
Ясно

вам нужно закинуть файл jquery таймера в папку includes/jquery/

Либо заново скачать архив с модулем и распаковать на сайте.

Прошу прощения, забыл добавить этот файлик в архив - все забываю что его нет в стандартной поставке ICMS. У кого он был до этого - все работало прекрасно. У кого не было - логичные ошибки.
SJen 12 ноября 2012 в 13:05 0
а вот про админку не согласен - модуль не умеет ломать админ часть сайта. Это у вас что-то другое..
artscripts 12 ноября 2012 в 14:16 0
реально ли сделать к этому модулю еще дополнение, чтобы нажав на заголовок "кто онлайн" открывалась страничка и показывалось, что делает пользователь и его ip?

А так за разработку 5+
SJen 12 ноября 2012 в 14:22 0
реально все..

Вопрос, чего это будет стоить - например, для этого вам нужно будет включать логирование действий пользоватей - статистику. Если под фразой "что делает пользователь и его ip" хочется видеть список последних URL, которые посетил юзер, то вполне реально и несложно(если логи пишутся).
IRATE 12 ноября 2012 в 19:21 0
Это есть в стандартных средствах, но катастрофически раздувается SQL база.
st.Puh 12 ноября 2012 в 21:22 0
Заработало, в меню больше проблем не создает
st.Puh 14 ноября 2012 в 10:05 0
Теперь заметил что если модуль Кто онлайн не виден при заходе на сайт то меня онлайн нет.Пример модуль выведенг в самый низ странички я захожу на сайт сижу там что то делаю но не опускаюсь в низ сайта тобиш мне на монитор не выводит модуль,так минут десять к примеру сижу на сайте обновляю страничку иду вниз к модулю и что я вижу меня ещо нет онлайн хотя я на сайте минут 10.
Бурдель Дмитрий 21 января 2013 в 21:50 0
На 1.10.1 работает прекрасно. +
hydraq 23 января 2013 в 23:27 0
у меня конфликтует с шаблоном видимо( стандартная проблема с выпадающим меню
Петр 27 февраля 2013 в 09:19 0
демо не работает :(
Нил™ 10 апреля 2013 в 20:17 0
у меня ни с чем не конфликтует, но работает странно. я на сайте при одном обновлении я в списке онлайн потом я в списке был сегодня, потом могу опять в онлайн перейти. с чем связано может быть??
Ганс 4 мая 2013 в 17:23 0
может я как всегда не в тему но тону.... у меня на хостинге чтото случилось все исправили все работает... а у меня после этого всегда все офлайн ...... в админке пользователей 0 гостей 0, на сайте друзей онлайн 0... ну тоесть они есть но модули их не видят или не выводят что делать?
L. Raimon 8 мая 2013 в 19:53 0
здравствуйте!

опять же, проблема с меню. проверила наличие файла jquery таймера - всё на месте - а выпадающее меню как не работало, так и не работает.
Mercy 7 августа 2013 в 22:57 0
устанавливается, но в админке в настройке пишет - Плагин отключен или не имеет конфигурации ((
Батосай 6 декабря 2013 в 14:45 0
SJen, планируется ли адаптация этого замечательного модуля под 1.10.3?
Bost 15 декабря 2013 в 10:53 0
Такой же вопрос, так как версия 1.10.3 движка
Aleks Shultz 6 января 2014 в 02:41 +2
Да, под 1.10.3 нужная штука...
Bost 23 января 2014 в 11:00 +1
Поставил работает и неплохо, спасибо :)
Aleks Shultz 26 января 2014 в 21:28 0
Под 1.10.3 работает? Сами допилили?
Rainbow 12 сентября 2015 в 19:21 +1
Если автор не против, я обновил модуль для 1.10.6
http://instantcms.ru/users/files/download5459.html
swjatoy 19 сентября 2015 в 22:21 0
Спасибо.. под 1.10.6 отлично работает
swjatoy 24 сентября 2015 в 22:29 0
что то он как то не корректно отображает количество тех кто онлайн ... я например знаю что народу больше а показывает постоянно от 0 до 4х и подскажи как выставить время чтоб через минут 5 он выпадал из онлайн если он уже ушел с сайте
swjatoy 24 сентября 2015 в 22:41 0
openstat . com показывает что онлайн 30 человек а Кто онлайн показывает 1-5
swjatoy 24 сентября 2015 в 22:33 0
возможно отображает и правильно но как задержку выставить