phpBB Simple Chat v2.1.2 — AJAX-чат с оповещениями о новых темах и ответах

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 VEG » 02.06.2012, 20:05

Простой чат для phpBB3, вдохновлённый чатом сайта delphi.mastak.ru 2001 года. Подходит как для phpBB 3.0.x, так и для phpBBex 1.x.x. Если вам понравился этот чат, вы сделали какие-то модификации, или просто установили его на свой форум — пожалуйста, поделитесь этим здесь, укажите ссылку на ваш форум.

screenshot.png


Возможности

  • Всё AJAX.
  • Приватные сообщения.
  • Звуковое оповещение.
  • Выбор цвета сообщений.
  • Поддержка смайликов.
  • Автоопределение ссылок.
  • Автоблокировка флуда.

Демонстрация работы

https://phpbbex.com/chat/
Имя: demo_ru
Пароль: demo_ru

Установка

Для того, чтобы установить этот чат на свой форум, необходимо выполнить несколько простых операций:
  1. Скачайте
    phpbb3_simplechat.7z
    v2.1.2 [2023/11/19]
    (69.71 КБ) Скачиваний: 68
    .
  2. Скопируйте содержимое каталога root в корень вашего форума.
  3. Выполните содержимое install.sql в вашей базе.
  4. Пройдите по адресу http://example.com/forum/chat/ и удостоверьтесь что чат работает.
  5. Добавьте ссылку на чат там где вам это удобно.

История версий

phpBB Simple Chat v2.1.2 [2023/11/19]
  • Совместимость с phpBBex v1.9.7.
  • Поддержка emoji (при обновлении со старой версии надо пересоздать таблицы).
  • В подсказке ко времени сообщения отображается дата.
  • Формат даты и времени можно настроить.
  • Незначительные косметические изменения.
Скачать:
phpbb3_simplechat.7z
v2.1.2 [2023/11/19]
(69.71 КБ) Скачиваний: 68


phpBB Simple Chat v2.1.1 [2014/01/10]
  • При попадании в базу сообщения с переводом строки чат не перестаёт работать (спасибо Sumanai за замечание)
  • Настройки JOIN_MESSAGES и LEFT_MESSAGES позволяют отключать сообщения о том, что пользователи заходят в чат и покидают его
  • Настройки ANTIFLOOD_DURATION (продолжительность автоматической блокировки в секундах), ANTIFLOOD_SENSITIVITY (чувствительность, чем меньше значение, тем более чувствительна система) и ANTIFLOOD_EXTINCTION (скорость угасания, чем меньше значение, тем более чувствительна система) позволяют настраивать защиту от флуда
  • Лёгкий рефакторинг
  • Комментарии переведены на английский язык
  • Код для поддержки устаревшего IE8 удалён
Скачать:
phpbb3_simplechat.zip
v2.1.1 [2014/01/10]
(78 КБ) Скачиваний: 18530
(версия для 3.1 от Sumanai -
phpbb3_simplechat_3.1.zip
v2.1.1 для phpBB 3.1
(78.05 КБ) Скачиваний: 3423
)

phpBB Simple Chat v2.1 [2012/09/03]
  • HTML5 шаблон
  • HTML5 <audio> для уведомлений
  • Настройки хранятся в локальном хранилище (а не в куках как было раньше)
  • Свежий jQuery из Google CDN
  • Код для поддержки устаревших IE6-IE7 удалён

phpBB Simple Chat v2.0 [2011/05/27] (не публиковалась)
  • Отображение времени в корректном часовом поясе (что выбрал пользователь в профиле)
  • Счётчик количества сообщений за всё время и счётчик количества обновлений за сеанс
  • Когда кто-то переписывается в привате другие не пользователи не слышат звуковое уведомление
  • Хранение 100 последних сообщений вместо 30
  • Сессия длится 3 минуты вместо 1.5
  • Максимальная длина сообщения 250 символов вместо 200
  • По умолчанию звук включен

phpBB Simple Chat v2.0b [2009/01/18]
  • Портирован на phpBB 3
  • Без пасхальных яиц и гостевого входа

phpBB Simple Chat v1.0a [2008/03/21]
  • Стабильная версия для phpBB 2
  • Полная совместимость с IE6
  • Звуковые уведомления через Flash
  • Было несколько забавных пасхальных яиц (робот отвечал на приветствие и слово «упячка»)
  • Была отдельная версия с гостевым входом без регистрации

phpBB Simple Chat v0.0 [2006/03/23] (не публиковалась)
  • Первые наброски

Форумский бот для phpBB Simple Chat
Скачать:
phpbb3_simplechat_bot.zip
(19.87 КБ) Скачиваний: 3323


Небольшой аддон к phpBB Simple Chat, который оповещает в чате о новых темах и ответах в форуме.
Изображение
Установка требует всего 2 небольшие модификации в одном файле. Пока что все строковые переменные находятся прямо в коде. Все это не сложно перевести на другой язык, изменить имя бота и т.д. В следующей версии постараюсь вынести все это в языковые переменные.

Дополнительные правки


Ссылки

Русскоязычная поддержка на phpbbguru.net
Англоязычная поддержка на phpbb.com
Последний раз редактировалось VEG 19.11.2023, 20:28, всего редактировалось 18 раз(а).
Причина: phpBB Simple Chat v2.1.2
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев


Сообщение #81 K--H.ru » 15.10.2012, 18:36

Верно.

DELETE FROM " . CHAT_MESSAGES_TABLE . " WHERE msg_id < " . ($last_id - MESSAGES_LIMIT)
удаляет старые сообщения без разбора (приват это или нет). А теперь представьте ситуацию, когда долго общаются в привате и из CHAT_MESSAGES_TABLE удаляются старые сообщения. Все, кто в следующий раз зайдут в чат - не увидят общую историю чата или увидят лишь несколько сообщений, за исключением тех, кому были адресованы приватные сообщения: у них история чата будет = MESSAGES_LIMIT, а у остальных в истории отобразятся только те сообщения, которые ещё не успели удалиться за давностью MESSAGES_LIMIT.

Наглядно:
Код: Выделить всё
msg_id, text

1, общее сообщение в чат
2, общее сообщение в чат
3, общее сообщение в чат
4, общее сообщение в чат
5, приватное сообщение
6, приватное сообщение
7, приватное сообщение
8, приватное сообщение
9, приватное сообщение
10, приватное сообщение

Теперь представьте, что в конфиге для данного примера MESSAGES_LIMIT=5. Получается, что старые msg_id 1-5 удаляются, и в таблице CHAT_MESSAGES_TABLE остаются только msg_id 6-10 ($last_id) с чьими-то приватами. Следовательно, если кто-то зайдёт в чат, кому эти приваты не адресованы, то увидит пустое окно без истории. А по идее должна быть последняя история "общака" - разве не так задумано?
Просто сам с этим столкнулся.
K--H.ru M
Репутация: 13
С нами: 11 лет 5 месяцев

Сообщение #82 Girl » 18.10.2012, 20:12

VEG , где чистить вот этот архив сообщений ?
Изображение
А то боюсь подумать какая цифра через месяц будет :biggrin:
Girl
Аватара
Репутация: 18
С нами: 11 лет 5 месяцев

Сообщение #83 angst66 » 18.10.2012, 21:07

Не боись
Безымянный.png
Безымянный.png (4.02 КБ) Просмотров: 13852
angst66
Репутация: 13
С нами: 11 лет 6 месяцев

Сообщение #84 VEG » 19.10.2012, 03:06

Girl, это просто число сообщений за всё время. Они нигде не сохраняются. Если хотите, отображение этой статистики можно убрать в шаблоне.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #85 Girl » 19.10.2012, 04:56

VEG:Если хотите, отображение этой статистики можно убрать в шаблоне.

Тогда скажите пожалуйста какую именно строчку ? А то некоторые начали думать что я их где-то сохраняю а потом ПМ чужие в свободное время читаю :twisted:
Girl
Аватара
Репутация: 18
С нами: 11 лет 5 месяцев

Сообщение #86 VEG » 19.10.2012, 11:06

Girl, в файле ./chat/template/chat_body.html просто удалите:
Код: Выделить всё
 :: [<span id="msg_counter">0</span> {L_N_MESSAGES} | <span id="upd_counter">0</span> {L_N_UPDATES}]
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #87 K--H.ru » 19.10.2012, 16:29

Посетители чата жалуются, что порой сообщения не отправляются и не показываются (красный кружок). Сам пару раз столкнулся с этим. Заглянул в таблицу - всё в порядке, никаких запрещённых символов нет. Почистил таблицу - сразу всё заработало.
VEG, как можно посмотреть DEBUG чтобы выявить косяк? Просто не занимаюсь JQuery, поэтому не знаю, что для этого нужно. Подозрения на вывод в PHP inline-ошибки или какого-нибудь нотиса, который убивает формат JQuery.
K--H.ru M
Репутация: 13
С нами: 11 лет 5 месяцев

Сообщение #88 VEG » 19.10.2012, 17:36

K--H.ru, работа чата в режиме DEBUG не гарантируется. Посмотреть что отвечает сервер можно в Firebug на вкладке Net (Сеть).
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #89 K--H.ru » 19.10.2012, 19:41

Спасибо, вспомнил, что у меня есть HttpFox - гораздо легче FireBug и с задачей успешно справился. Как я и предполагал, inline ошибка о попытке вставить строку в колонку messages сверх лимита (на этот раз в таблицу логов, в которой забыл увеличить text до 500 тоже).
Странно, что SetUsers выводится при каждом рефреше, хотя логичнее было бы только при изменении списка чатовцев он-лайн.
K--H.ru M
Репутация: 13
С нами: 11 лет 5 месяцев

Сообщение #90 rewuxiin » 23.10.2012, 22:34

сегодня получил вот такою ошибку. причем не у всех а только у некоторых пользователей
SQL ERROR [ mysqli ]
Код: Выделить всё
Out of range value for column 'user_activity' at row 1 [1264]

SQL

UPDATE phpbb_chat_sessions SET user_id = '54', username = 'Ola_ok', last_active = 1351020698, user_status = '0', user_activity = 62726, user_blocked = '0' WHERE user_id = 54

BACKTRACE

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/chat/index.php
LINE: 142
CALL: dbal_mysqli->sql_query()

у кого косяк?
rewuxiin
Гость

Сообщение #91 VEG » 23.10.2012, 22:44

rewuxiin, user_activity — это нестандартное поле. Скорее всего проблема в моде, который добавил это поле в таблицу phpbb_sessions.

Добавлено спустя 3 минуты 2 секунды:
Как вариант попробуйте увеличить размерность этого поля. Поставьте тип INTEGER. По крайней мере указанный запрос выполнится. Не знаю, решит ли это проблему целиком — нужно уже смотреть код мода, который работает с этим полем.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #92 rewuxiin » 24.10.2012, 08:26

VEG, спасибо.
Видимо мост Joomla - Jfusion снова гдето косячит
rewuxiin
Гость

Сообщение #93 Andrey » 27.10.2012, 22:39

Приветствую!

Подскажите пожалуйста, как встроить кнопку чата на главной странице форума рядом с кнопками главного меню наверху (Личный раздел•F.A.Q.•Поиск и т.д.) на стиле "whiteb"?

Я не сильно продвинутый юзер в плане программирования, а заходить в чат через ссылку в созданной теме не совсем удобно для посетителей форума, хотелось бы вывести отдельную кнопочку.

Подскажите пожалуйста, люди добрые, разобраться. Спасибо!
Andrey
Гость

Сообщение #94 VEG » 27.10.2012, 23:37

Andrey, вы можете через админку создать форум-ссылку (как на главной phpbbex.com ссылка на phpbbguru.net). При создании форума просто выбирайте тип форума — ссылка.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #95 Andrey » 28.10.2012, 01:09

Спасибо большое! Так гораздо удобнее!

Вы меня очень выручили...
Andrey
Гость

Сообщение #96 Апельсин » 07.11.2012, 16:08

VEG, можно ли убрать уведомления о изменении статуса админа?
Есть ли возможность удалять / изменять сообщения?
Апельсин
Гость

Сообщение #97 VEG » 07.11.2012, 16:16

Апельсин:VEG, можно ли убрать уведомления о изменении статуса админа?
А где вы увидели такие уведомления? И да, в этой версии чата статусов нет ;)
Апельсин:Есть ли возможность удалять / изменять сообщения?
Такой возможности нет. Сообщения всё равно автоматически удаляются при достижении лимита. В ручном удалении или редактировании сообщений смысла не очень много.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #98 Апельсин » 07.11.2012, 16:28

VEG:А где вы увидели такие уведомления? И да, в этой версии чата статусов нет ;)

Значит, я неправильно выразился. Используется последняя версия.Я имел в виду, что во время открытия страницы чата появляется строка, свидетельствующая о входе на чат.

Как сделать так, чтобы она появлялась при входе всех пользователей, кроме админа?
Апельсин
Гость

Сообщение #99 VEG » 07.11.2012, 17:13

Апельсин, такой функции этот чат также не предоставляет.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #100 Грейпфрут » 07.11.2012, 19:39

Но ведь теоретически её можно реализовать?
Грейпфрут
Гость

Пред.След.

Вернуться в Мастерская 1.x