Так сложилось, что на одном из своих сайтов пришлось ставить чат. Долго выбирал и нашёл, на мой взгляд, лучший компонент чата Universal Ajax Chat. Но после установки обнаружилось несколько косяков в его работе.
1. В браузерах Safari и Google Chrome вылетала ошибка
TypeError: Object #<HTMLObjectElement> has no method 'create'
И не работал звук в чате.
2. Если в выпадающем списке выбрать другой шаблон, то слетали стили, а чат разваливался.
3. Таблица сообщений в БД разрасталась с пугающей быстротой.
Итак, мои решения этих проблем:
Чтобы избавиться от ошибки в сафари и хроме, а также вернуть в чат звуки, я заменил файл
components\com_ajaxchat\ js\FABridge.js на файл из архива.
Затем в конфигурационном файле
components\com_ajaxchat\lib\config.php
удалил все ненужные мне языки, оставил только русский и инглиш
// Available languages:
$config['langAvailable'] = array('en','ru');
// Default language:
$config['langDefault'] = 'en';
// Language names:
$config['langNames'] = array('en'=>'English','ru'=>'Русский');
Убрал все ненужные мне стили шаблона
// Available styles:
$config['styleAvailable'] = array('vBulletin');
// Default style:
$config['styleDefault'] = 'vBulletin';
Увеличил количество последних выводимых сообщений после загрузки чата
// Max number of messages to display on each request:
$config['requestMessagesLimit'] = 50;
И снизил время хранения сообщений в базе данных до трёх дней
// Max time difference in days for old messages before they are purged from the database:
$config['logsPurgeTimeDiff'] = 3;
Осталась одна проблема — это вывод истории чата. Изначально он там есть для админа, но, как его вывести, непонятно.
Подробнее...