Прошу простить, но разработка и поддержка данного модуля заморожена на неизвестно бесконечное времяПредставляю на пользу сообществу модуль ajax-чата в режиме shoutbox (небольшого окна), версия 1.0.0
Функционал:- ajax на основе jquery (загрузка jquery опционально)
- пишет данные в текстовый файл, не увеличивая нагрузку на базу данных. Кол-во строк записи в файл регулируется из админки (по умолчанию 20)
- сохраняется логин пользователя, текст сообщения, время, IP адрес.
- если пользователь авторизован - в поле "имя пользователя" автоматически подставляется логин.
- реализовано определение типа пользователя и подсветка ника в списке сообщений по следующим группам Super Administrator либо Administrator класс .shoutbox-list-nick-sadmin, Registered класс .shoutbox-list-nick-registered, обычный неавторизованный гость класс .shoutbox-list-nick-guest (прочие группы author editor не добавлял)
- автообновление окна чата (по умолчанию раз в три секунды проверяет наличие новых записей)
- анимация сохранения и подгрузки записей
- проверка обязательных полей (имя, текст сообщения)
- ограничение на кол-во символов в поле "сообщение", по умолчанию 200
- возможность включить JS счетчик оставшихся символов для написания сообщения
- проверка на частоту отправки сообщений (как и прочие анти-спам штуки) отсутствует
- По достижению установленного предела сообщений в рамках сессии одного пользователя по мере добавления нового удаляются самые первые сообщения с экрана
Установка и настройка:- Установить и опубликовать модуль
- ОБЯЗАТЕЛЬНО проверить, что CHMOD на файл modules\mod_shoutbox_chat\files\messages.txt установлен в 777
- При необходимости отключить автоудаление ранних сообщений внести изменение в файл modules\mod_shoutbox_chat\js\chat.js, удалить строки
if (count >= response.resp_count) {
$(document).ready(function(){
$(".shoutbox-list:first").remove('').fadeIn('slow');
});
} else {}
- После изменения кол-ва сохраняемых записей на фронтенде очистить кеш сайта (CTRL+F5), ибо js кешируется
- При необходимости изменить частоту автообновления окна чата (чтобы меньше грузить сервер) отредактировать строку файла modules\mod_shoutbox_chat\js\chat.js (значение в миллисекундах)
timeoutID = setTimeout(refresh, 3000);
Тестировалось под браузерами: Mozilla 3.0.7, Opera 9.6, Chrome 1.0.154.48, Safari (win) 3.2, IE 6-7, проблем не выявлено,
Демо здесь (временное)При нахождении ошибок прошу максимально полно описывать кофигурацию системы: браузер, подгружаются ли скрипты в HEAD если да то какие (возможны конфликты), желательно иметь плагин firebug для отслеживания ошибок. Заранее благодарен
Внимание: в браузерах IE7-IE8 в данный момент наблюдается ошибки: не подгружается контент из файла и при отправке сообщения получаем в окне текстовое значение запроса, но не ожидаемый AJAX. Находится в стадии исправления
[вложение удалено Администратором]