ЛоготипWebChat — это проект для чата CommFort, который позволяет реализовать веб-интерфейс для чата. На данный момент проект поддерживает CommFort чат версии 5.03 (для четвертой линейки есть более старая версия). Веб-интерфейс позволяет общаться через Ваш любимый браузер и поддерживает самые важные функции чата (выбор канала общения, мгновенная отправка и получение новых сообщений, авторизация в чате под своим ником и др.). Веб версия чата дает пользователям возможность сперва увидеть внутреннюю атмосферу чата и анонимно пообщаться с его пользователями. При выходе новой версии мы оптимизируем плагин под неё, соответственно под более старую версию, одной и той же линейки, плагин уже может работать не стабильно, поэтому своевременно обновляйте серверную часть чата.

 
Содержание:
Структура проекта

Плагин для CommFort
Модуль для CMS Drupal
Пакет для CMS Joomla
Плагин для CMS WordPress
Особенности
Установка

Плагин для CommFort
Модуль для CMS Drupal
Пакет для CMS Joomla
Плагин для CMS WordPress
FAQ
to do
Известные проблемы
Скриншоты

Плагин для CommFort
Модуль для CMS Drupal
Модуль для CMS Joomla
Полезные ссылки

Структура проекта

Проект состоит из 2-ух частей:

  1. Плагин для сервера CommFort версии 5.xx.
  2. Пакет для CMS Drupal 6 или Joomla 1.5.x.

Плагин для CommFort

Название плагина: CommFort WebChat

Текущая версия: 1.07 (от 20.12.10)

Разработчики:
Аннеков Павел aka SteelRat
Евгений Ионичев aka Mavashi

Требования: такие же как и у серверного приложения комфорта.

Последние изменения:

1.07

+ Опция проверки скрытости IP через сервер, а не через белый список, т.е. показатели скрытости запрашиваются напрямую у сервера
+ Опция отображения текущего времени работы плагина в главном окне
+ Бот теперь входит только в каналы, которые подходят под правила. Из остальных каналов он выходит
+ Показ сообщения, о превышении количества каналов, к которым бот должен подключиться (их не может быть больше 16-ти) и подключение к первым 16-ти каналам
6 мелких изменений

1.06

+ Кнопка создания структуры БД в Настройках
* Отображение диалога при первом запуске плагина
2 мелких изменения

1.05

+ Полностью переделан интерфейс Настроек
+ Визуальное логирование не ест оперативную память, когда оно выключено. После открытия визуального лога начинается подгрузка из файла лога и включается динамическое логирование в визуальный лог новых событий
+ Изменена структура файлового лога. Теперь она более стандартизированна
+ Работа со списком белых ников сделана также как и со списком каналов
+ Последние события в визуальном логе теперь показываются сверху, а не снизу, т.е. изменена сортировка
+ Изменен формат даты для файлов логов. Теперь он записывается в формате гггг.мм.дд, что удобно для сортировки
+ Запросы к БД теперь показываются только при ошибке в их синтаксисе
+ Добавлены ещё бета-тестеры
* Автоочистка БД теперь получает корректное количество записей и соответственно удаляет их
* Опция отслеживания каналов не сохранялась
5 мелких изменений

1.01

* После автоочистки БД появлялись критические ошибки Access Violation
* Показ причины невозможности подключения к БД, если указаны не правильно данные для подключения
* Показ критических ошибок, если была попытка подключения к БД с неправильными данными

1.00 Final

+ Много усовершенствований по ускорению работы плагина, оптимизация кода

1.00 beta2

+ Отображение содержаний запросов при включении плагина
* Ошибка при сохранении настроек бота

1.00 beta1

+ Поддержка авторизации с веба под своим ником. Для этого если человек зарегистрирован на сайте и в чате под одним ником — надо чтоб и его пароли совпадали. Если на сайте зарегистрирован, а в чате нет, то будет подана заявка на регистрацию
+ Мгновенная синхронизация с БД (публикация сообщений с веба, вход пользователей с веба…). Функция синхронизации с БД выделена в отдельный поток
+ Извлечение тем каналов для последующего отображения из на сайте
+ Отслеживание любых каналов ботом. Каналы выбираются в настройках
+ Пароли виртуальных пользователей (в т.ч. бота) теперь передаются и хранятся в md5 хеше
* Проблемы при изменении настроек
* Уход в минус количества пользователей онлайн
* Функция автоочистки таблицы сообщений раз в час, если больше 100-та записей (последние 10 записей не удаляются)
* IP адрес бота теперь и сохраняется и показывается в настройках
* Пароли бота и MySQL теперь прикрываются звёздочками
очень и очень много мелких, забытых ихменений…

1.00 alpha

Много чего добавлено (+) и исправлено (*), всё и не перечислить..

Модуль для CMS Drupal

Текущая версия: 1.7 (от 20.12.10)

Разработчик: Аннеков Павел aka SteelRat

Требования:

  1. CMS Drupal 6-ой линейки. Желательно самой последней версии.
  2. PHP версии 5.x.x.

Последние изменения:

6.x-1.7

+ Опция показа состояния соединения на странице чата (опционально). При задержке пинга от плагина от 30 секунд до 2-ух минут — показывает предупреждение на желтом фоне на странице чата, а при задержке более 2-ух минут показывает другое предупреждение на красном фоне.
+ Возможность общения в вебчате оффлайн, т.е. когда синхронизация в плагине не включена. Возможность активна только когда включена опция показа состояния соединения и когда соединения с сервером нет (задержка более 2-ух минут)
* Текст подсказки для кнопок открытия смайлов и настроек
* Сохранение выбранных пользователем настроек
* Стилизация темы канала
* Оптимизация смайлов при не стандартной структуре файла смайлов

6.x-1.6

+ Полная поддержка переключения каналов в вебе с запоминанием последнего активного канала
+ Новый перевод модуля
+ Ускорение всплытия информации о пользователе в списке
+ Сделана мгновенная очистка чата
+ Сделано сохранение настроек автоскрытия смайлов и звукового оповещения
+ Полная поддержка автосоздания/изменения страницы чата через настройки или при включении модуля
+ Глобальная опция "Включить звуковое оповещение" в настройках. Позволит по умолчанию включить/выключить оповещение
10 мелких изменений

6.x-1.5b

+ Добавлена кнопка настроек чата. Их пока две: звуковое оповещение, при появлении нового сообщения и авскрытие блока смайлов при выборе смайла
+ Поддержка динамической вставки\удаления пользователя, учитывая сортировку, из списка "Пользователей онлайн" при входе\выходе пользователя из канала
+ Поддержка вставки смайлов. Пока ограничил двумя первыми вкладками, из-за нагрузки на страницу
+ Мгновенное получение новых сообщений, опубликованных в чате (технология AJAX Comet) и мгновенная отправка сообщений с веба в чат
+ Поддержка авторизации с веба
+ Поддержка многоканальности
+ Извлечение новых сообщений с БД сделано по дате и по каналу
+ Добавлен раздел текущего пользователя к блоку "Пользователи онлайн"
+ Расстановка переносов строк. Теперь если в чате написали многострочное сообщение, то и в вебе оно отображается в несколько строк
+ Автосоздание страницы чата при включении модуля, если страницы не существует
* Пройдена валидация на XHTML Strict
* Дизайн блока сообщений. Разделение сообщений ели видными границами, время сообщения справа и др.
* Изменен метод очистки чата
* Кнопка очистки чата снесена вниз иконкой
* Фильтрование всех html тегов
очень и очень много мелких, забытых ихменений…

6.x-1.41

* Адрес канала, где происходит общение, теперь берётся из таблицы настроек, которую обновляет плагин

Пакет для CMS Joomla

Текущая версия: 0.4 (от 06.02.11)

Разработчик: Алексей Ткаченко aka Wearwoolf

Требования:

  1. CMS Joomla версии 1.5.x.
  2. PHP версии 5.x.x. На версиях 4-ой линейки не тестировался.

Последние изменения:

0.4

+ Возможность работать с таблицами без префиксов
* Подключение к родной базе в модуле
* Вид компонента
* Стабильность модуля и компонента

0.3

+ Перевод модуля (что то не заработало и пришлось что-то подправить)
+ Перевод на английский язык
+ Возможность по умолчанию подключаться к БД сайта, если таблицы расположены в ней.
+ Скрипты переписаны для библиотеки mootools 1.12
* Ошибка с именем компонента
* Ошибка со слешами для виндовс сервера
* Ошибка вызова функции getip() в модуле
* Ошибка с картиной "пользователь с web"
* Ошибка с иконками пользователей в списке пользователей
* Ошибки в переводе

0.1b

* Определение IP

0.1a

* Ошибка с именем компонента
* Ошибка со слешами для виндовс сервера
* Перевод модуля

0.1

+ Первая версия модуля и компонента…

Плагин для CMS WordPress

Текущая версия: 0.1a (от 06.02.11)

Требования:

  1. CMS WordPress версии 2.9 и выше.
  2. PHP версии 5.x.x. На версиях 4-ой линейки не тестировался.

Последние изменения:

0.1a

* Отправка сообщений пользователями с ролями выше Подписчика

0.1

+ Первая версия плагина…

Особенности

Главных особенностей собственно две:

  1. Работа с БД MySQL 5, на которой работают большинство современных сайтов.
  2. Плагин полностью поддерживается ОС Linux.

БД MySQL в качестве хранилища для информации поступаемой от плагина является надёжным хранилищем, а также широко используется в CMS Joomla, Drupal, WordPress и др. Если Вы используете какую-либо другую CMS для Вашего сайта, то Вы можете свободно настроить плагин и сделать модуль для этой CMS.

Быстрая настройка плагина позволит с помощью подсказок настроить подключение и взаимодействие с БД.

Плагин поставляется в специально сделанной для него установке, которая установит его в место, где находится серверное приложение CommFort и установит настройки по-умолчанию.

Плагин ведёт логирование событий, происходящих в канале и и записывает их в файлы логов, а также выводит собственно в содержимом своего окна.

Так как всем известно, что серверное приложение чата комфорт запускается на ОС Linux через WINE, то мы специально проводили тесты так, чтобы плагин работал одинаково под Windows и под WINE-ом. Если Ваш сервер комфорта уже работает на ОС Linux, то Вам не составит труда добавить к нему наш плагин.

Установка

Установка плагина и модуля производится в несколько этапов. Их краткое описание ниже.

Плагин для CommFort

  1. Распаковываем содержимое архива (webchat_cf_5.zip) и запускаем установку "webchat_cf_5_setup.exe".
  2. Указываем для установки папку с сервером комфорта.
  3. Запускаем плагин через меню в окне сервера: Сервер-Плагины-CommFort WebChat версия-Запустить.
  4. Делаем первоначальную настройку плагина.

Модуль для CMS Drupal

  1. Если CMS Drupal у Вас не установлена — качаем, устанавливаем.
  2. Распаковываем содержимое архива (webchat_dp_5.zip) в папку с CMS Drupal sites\all\modules. В итоге у Вас должна образоваться папка sites\all\modules\cf_webchat с некоторым набором файлов в ней.
  3. На странице модулей в администрировании Drupal (admin/build/modules) включаем модуль CommFort WebChat.
  4. Там же в админке, в настройках модуля (admin/settings/cf_webchat), вносим настройки на какой странице будет показываться чат и т.д.

Пакет для CMS Joomla

  1. Если CMS Joomla у Вас не установлена — качаем, устанавливаем.
  2. Распаковываем содержимое архива (webchat_jm_5.zip) в любую папку. Он содержит в себе 2 архива: com_webchat.zip — компонент и mod_webchat.zip — модуль.
  3. С помощью стандартного установщика модулей и компонентов Joomla устанавливаем оба архива (компонент и модуль).
  4. После установки в Администраторской панели компонента надо сделать настройку соединения с БД и выбрать дополнительные настройки.
  5. Создать модуль и привязать его к пункту меню, который будет вести на компонент чата.

Плагин для CMS WordPress

  1. Если CMS WordPress у Вас не установлена — качаем, устанавливаем.
  2. Распаковываем содержимое архива (webchat_wp_5.zip) в папку wp-content\plugins. В итоге у Вас должна образоваться папка wp-content\plugins\commfort-webchat с некоторым набором файлов в ней.
  3. На странице плагинов (wp-admin/plugins.php) включаем плагин CommFort WebChat.
  4. Делаем первоначальную настройку плагина на странице wp-admin/options-general.php?page=cf_webchat.
  5. Переходим на страницу виджетов (wp-admin/widgets.php) и переносим виджет CommFort WebChat в ту область, где вы хотите, чтобы он отображался.
  6. Для показа чата на странице надо зайти в редактирование любого поста или страницы и написать в контентной области (тело поста) строку — [cf_webchat].
  7. Если вы сделали все правильно, то на странице, куда вы вставили заветную строку будет показан чат, а сбоку будет виден виджет пользователей онлайн.

FAQ

Вопрос: Почему после установки новой версии плагина в его окне показывается всё равно старая версия (имеется ввиду, что сервер при этом не перезагружался)?
Ответ: Старый плагин никуда не делся, он до сих пор сидит в памяти и именно его запускает сервер комфорта. Или перезагрузите сервер комфорта или остановите плагин, потом после установки новой версии плагина измените в папке Plugins (которая находится в папке сервера комфорта) название файла wenchat.cfplug на какое-то другое и запустите плагин, в списке плагинов сервера, заново.

Вопрос: Как бороться со спамом и атаками?
Ответ: Всё довольно просто. В модуле для друпала есть специальное правило — "разрешить отправку сообщений" в разделе Разрешения (/admin/user/permissions). Убираем галку напротив этого правила в колонке "анонимный пользователь" и анонимные пользователи не смогут отправлять сообщения в чат с веб-интерфейса. Но если Вам надо, чтобы и зарегистрированные пользователи проходили проверку, то переходим на страницу "Параметры регистрации" (/admin/user/settings) и выбираем пункт "Посетители могут создавать учетные записи, но требуется разрешение администратора". Заблокировать какого-либо пользователя, чтобы он вообще не смог войти на сайт можно на странице "Правила доступа" (/admin/user/rules), где можно заблокировать пользователя по Имени, Хосту (ip или маска) или E-mail.

Вопрос: Как в логах найти ошибки\предупреждения?
Ответ: Визуальные логи в окне плагина выделяют оливковым цветом предупреждения и красным — ошибки. В текстовых логах события с ошибками помечаются как [error] после даты, а события с предупреждениями как [warn].

Вопрос: Я скопировал смайлы в папку со смайлами и в настройках указал, чтобы смайлы отображались, но они не показываются. Что делать?
Ответ: Проверьте не забыли ли вы нажать кнопку "Оптимизировать смайлы", её надо нажимать каждый раз когда вы изменяете файл "smiles_serv.txt". Так же проверьте, чтобы название этого файла было полностью строчными (маленькими) буквами. И не забывайте, что в Linux-серверах названия файлов\папок в файле "smiles_serv.txt" должно совпадать с реальными названиями (имеются ввиду строчные и заглавные буквы в названиях).

to do

  1. Поддержка администрирования чата через веб-интерфейс.
  2. Создание облегченной версии страницы с чатом адаптированной под мобильные устройства.
  3. http://webchat.reformal.ru/

Известные проблемы

Быстро решаются…

Скриншоты

Несколько скриншотов плагина и модуля Вы можете увидить ниже.

Плагин для CommFort

Плагин в списке плагинов
Главное окно
Окно настроек
Окно "О плагине"
Окно быстрой настройки

Модуль для CMS Drupal

Страница чата
Страница настроек модуля

Пакет для CMS Joomla

Страница чата
Страница настроек компонента

Полезные ссылки