DLE-Chat + Online by Sander
Предагаю вашему вниманию чат для DLE объединенный с блоком "Кто в чате". Все написано с нуля и с аналогами не имеете ничего обшего кроме конечной цели, получить чат и блок "Кто в чате".
[Особенности]
- при желании и наличии, можно включить memcache, иначе будет простое файловое кеширование.
- независимо от настроек DLE оба блока кешируются, внешне это никак не выражается, никакого дискомфорта или некорректного отображения;
- есть возможность вывода чата на отдельной странице по адресу /dlechat или ?do=dlechat;
- файлы шаблонов полностью поддерживают теги [group=... [aviable=... и т.п.;
- все тексты сообщений хранятся в текстовом файле;
- запросы делаются только для обновления даты последнего посещения пользователя и создания списка "кто в чате", частота обновления кеша настраивается, при добавлении сообщения кеш обоих блоков чиститься;
- сверстано только на DIV-ах;
- суммарный размер всех файлов: 57,6 Кб. Из них: 27 Кб - смайлы;
- простейшая установка в 2 шага (+1 шаг для вывода страницы на отдельной странице), в каждом шаге вставляется(!) 1-3 строки;
Окно чата:
- при выводе сообщений в чате цвет их фона чередуется для более удобного чтения;
- формат вывода даты настраиваемый, так же есть возможность вывода даты тегом {date=j F Y}, при наведении курсора на дату выводится полная дата добавления сообщения;
- при нажатии на логин пользователя в форму добавления сообщения вставляется имя выбранного пользователя;
- цвет ника настраивается по ID группы пользователя.
- при наведении курсора на строку с сообщением, справа появляются дополнительные иконки:
-- только для админов, кнопка удаления сообщения (с подтверждением);
-- кнопка для вывода модального окна профиля пользователя (для DLE 9.0 и старше, для младших - открывается страница профиля);
- настраивается интервал обновления окна чата;
- настраивается максимальное количество сообщений в чате;
- настраивается направление сортировки. Т.е. где выводить новые сообщения вверху или внизу:
-- если новые сообщения выводятся снизу, то окно чата автоматически прокручивается в самый низ (при автообновлении чата не прокручивается);
- гостям так же можно разрешить добавлять сообщения, их логин вы задаете самостоятельно.
Кто в чате:
- вывод аватарки пользователя;
- вывод логина пользователя, при нажатии на него открыватеся модальное окно профиля пользователя (для DLE 9.0 и старше, для младших - открывается страница профиля);
- вывод даты последнего посещения пользователя;
- при наведении курсора на строку с профилем, справа вверху появляется кнопка, при нажатии на которую в поле ввода сообщения вставляется логин выбранного пользователя;
- настраивается частота обновления профиля пользователя, т.е. информация о последнем его посещении обновляется раз в N минут, а не при каждом обновлении страницы;
- настраивается время бездействия пользователя, при котором он считается онлайн;
- настраивается частота обновления блока "Кто в чате", нет необходимости обновлять страницу, чтобы увидеть кто именно сейчас есть на сайте.
Ввод сообщения:
- используется свой скрипт для добавления bbcod-ов, никаких конфликтов с DLE;
- поддерживаются только те bbcod'ы, которые отображены на панели. Ссылки преобразуются автоматически:
-- ссылки вида http://... автоматически преобразовываются в гиперссылку с noindex и nofollow, исходный текст ссылки заменяется на выбранное администратором слово;
- теги используются strong, em, u,
- собственный набор смайлов, список генерируется автоматически из загруженных смайлов (рекомендуемая высота смайла 20px);
- можно запретить перенос строк в сообщении (тогда сообщения будут отправляться так же и по Enter);
- сообщения отправляются комбинацией клавиш [Ctrl-Enter].
[Скриншоты]
Основное окно разделено на 3 части, слева само окно чата, справа "Кто в чате", внизу поле добавления сообщения с bb-кодами.
Так будет отображаться чат для администратора в браузере не поддерживающем CSS3.
Так будет выглядеть чат для простого пользователя, браузер Google Chrome (поддерживает CSS3).
Как видно из отличий, у админа есть возможность удалять сообщения.
[Быстродействие]
До кеша, время генерации блоков: 0,04 - 0,05 сек.
Извлечение из кеша: 0,002 - 0,003 сек.
Посещения на сайте в момент измерения ~20-30 человек, общая посещаемость 1к пользователей.
[Демо]
http://vconcepte.ru/
http://vconcepte.ru/dlechat
Логин:Пароль
test:test
[Система]
Чат писался и тестировался на версиях: dle_v9.2, dle_v9.0, dle_v8.5. На более ранних (не младше dle_v7.0) тоже пойдет без проблем, но модальное окно профиля будет только в версиях 9.0 и 9.2, в других версиях будет сразу открываться страница профиля пользователя.
Версия PHP 5.x
jQuery 1.4.3 и старше.
[Условия продажи]
Ваш аттестат (webmoney) персональный и выше или BL>=30
Распространение модуля запрещено.
Стоимость:
Обновления, техподдержка: бесплатно
[Контакты]
ICQ: 404-037-556
E-Mail: olalod(.+)mail.ru
WMID: 127281922890
С уважением,
Олег Александрович a.k.a. Sander