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

Board index phpBBex 1.x Мастерская

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

Post #1by VEG » 02.06.2012, 20:05

Простой чат для phpBB3 в стиле чата сайта delphimaster.ru. Подходит как для phpBB, так и для phpBBex. Если вам понравился этот чат, вы сделали какие-то модификации, или просто установили его на свой форум — обязательно напишите об этом здесь, укажите ссылку на ваш форум. Мне будет очень приятно.

screenshot.png


Возможности

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

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

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

Установка

Для того, чтобы установить этот чат на свой форум, необходимо выполнить несколько простых операций:
  • Скачайте
    phpbb3_simplechat.zip
    (78 KiB) Downloaded 15573 times
    (версия для 3.1-
    phpbb3_simplechat_3.1.zip
    Исправленная версия для работы на 3.1
    (78.05 KiB) Downloaded 1267 times
    )
  • Скопируйте содержимое каталога root в корень вашего форума
  • Выполните содержимое install.sql в вашей базе
  • Пройдите по адресу http://example.com/forum/chat/ и удостоверьтесь что чат работает
  • Добавьте ссылку на чат там где вам это удобно

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

phpBB Simple Chat v2.1.1 [10.01.2014]
  • При попадании в базу сообщения с переводом строки чат не перестаёт работать (спасибо Sumanai за замечание)
  • Настройки JOIN_MESSAGES и LEFT_MESSAGES позволяют отключать сообщения о том, что пользователи заходят в чат и покидают его
  • Настройки ANTIFLOOD_DURATION (продолжительность автоматической блокировки в секундах), ANTIFLOOD_SENSITIVITY (чувствительность, чем меньше значение, тем более чувствительна система) и ANTIFLOOD_EXTINCTION (скорость угасания, чем меньше значение, тем более чувствительна система) позволяют настраивать защиту от флуда
  • Лёгкий рефакторинг
  • Комментарии переведены на английский язык
  • Код для поддержки устаревшего IE8 удалён

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

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

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

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

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

Форумский бот для phpBB Simple Chat
Скачать:
phpbb3_simplechat_bot.zip
(19.87 KiB) Downloaded 1684 times


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

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


Ссылки

Русскоязычная поддержка на phpbbguru.net
Англоязычная поддержка на phpbb.com
Last edited by Sumanai on 03.12.2015, 20:07, edited 5 times in total.
Reason: Дополнения для чата
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months


phpBB Simple Chat v2.1.1 [10.01.2014]

Post #261by VEG » 10.01.2014, 15:57

  • При попадании в базу сообщения с переводом строки чат не перестаёт работать (спасибо Sumanai за замечание)
  • Настройки JOIN_MESSAGES и LEFT_MESSAGES позволяют отключать сообщения о том, что пользователи заходят в чат и покидают его
  • Настройки ANTIFLOOD_DURATION (продолжительность автоматической блокировки в секундах), ANTIFLOOD_SENSITIVITY (чувствительность, чем меньше значение, тем более чувствительна система) и ANTIFLOOD_EXTINCTION (скорость угасания, чем меньше значение, тем более чувствительна система) позволяют настраивать защиту от флуда
  • Лёгкий рефакторинг
  • Комментарии переведены на английский язык
  • Код для поддержки устаревшего IE8 удалён
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #262by microgosu » 15.01.2014, 14:12

Здравствуйте, подскажите а возможно ли как то встроить этот чат в тело форума, или сделать чтобы он хотя бы открывался отдельной вкладкой.
microgosu
Новичок
Reputation: 0
With us: 3 yaers 5 months

Post #263by VEG » 15.01.2014, 14:57

microgosu, в этой теме уже приводились примеры, как можно встроить чат на главную при помощи iframe. Нужно добавить в шаблон что-то вроде
Code: Select all
<iframe src="./chat/index.php" width="100%" height="300"></iframe>
Конкретное место зависит от вашего стиля.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #264by sag-sag » 16.01.2014, 13:47

Подскажите пожалуйста, как установить бота? Пробовал по поиску, но не нашел...

Второй вопрос:
как добавить ссылку на чат сюда
Screenshot_1.png


И третий: как сделать системное сообщение в чате?
Спасибо.
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #265by Sumanai » 16.01.2014, 15:43

sag-sag wrote:Подскажите пожалуйста, как установить бота?

Из шапки скачиваете мод и устанавливаете, либо автомодом, либо открываете файл simplechat_bot.xml в браузере и следуете инструкциям.

sag-sag wrote:как добавить ссылку на чат сюда

В файле \styles\ваш_стиль\template\overall_header.html ищите
<li><a href="{U_RULES}">{L_INFORMATION}</a>
<ul>
<li><a style="background-position: 0 -342px;" href="{U_RULES}">{L_BOARD_RULES}</a></li>
<li><a style="background-position: 0 -360px;" href="{U_FAQ}">{L_FAQ}</a></li>
<li><a style="background-position: 0 -360px;" href="{U_BBCODE_GUIDE}">{L_BBCODE_GUIDE}</a></li>
</ul>
</li>

И по аналогии добавляете после:
Code: Select all
      <li><a href="/chat/index.php">Чатик</a></li>
Заменив /chat/index.php на путь к чату и слово Чатик на нужное, если форум использует только русский язык.

sag-sag wrote:И третий: как сделать системное сообщение в чате?

Такого функционала в чате нет.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1578
With us: 4 yaers 4 months

Post #266by Павел » 29.01.2014, 21:53

Здравствуйте. После установки чата phpBB Simple Chat возникли проблемы: при переходе http://форум/chat/ (у меня он в корне) выдаётся ошибка"403" (У вас нет необходимых прав доступа к выполнению запроса) Запрос sql до этого прошёл успешно. При переходе http://форум/chat/index.php выдаётся ошибка:
Code: Select all
Общая ошибка
SQL ERROR [ mysql4 ]

Unknown column 'last_active' in 'where clause' [1054]

SQL

SELECT * FROM phpbb_chat_sessions WHERE last_active < '1391021245' ORDER BY last_active

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

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

FILE: [ROOT]/chat/index.php
LINE: 96
CALL: dbal_mysql->sql_query()
Хотя до этого "SQL-запрос был успешно выполнен", без ошибок. В чём может быть проблема?

Added after 1 hour 33 minutes:
Если изменить код в index.php
c
Code: Select all
$phpbb_root_path = './../';
на
Code: Select all
$phpbb_root_path = '/../';
то выдаётся такая ошибка:
Code: Select all
Warning: include(/../common.php) [function.include]: failed to open stream: No such file or directory in /var/www/***/data/www/***.ru/chat/index.php on line 12

Warning: include() [function.include]: Failed opening '/../common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/***/data/www/***.ru/chat/index.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at /var/www/***/data/www/***/chat/index.php:12) in /var/www/***/data/www/***/chat/index.php on line 13

Fatal error: Call to a member function session_begin() on a non-object in /var/www/***/data/www/***/chat/index.php on line 16
Павел
Гость

Post #267by VEG » 30.01.2014, 01:03

Павел wrote:Хотя до этого "SQL-запрос был успешно выполнен", без ошибок. В чём может быть проблема?
Возможно, у вас до этого был установлен какой-то другой чат. Удалите таблицы phpbb_chat_* и выполните SQL запрос повторно.

Павел wrote:Если изменить код в index.php
Путь к корню форума должен обязательно начинаться с точки (это обозначает текущую директорию).
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #268by Павел » 30.01.2014, 08:23

Удалите таблицы phpbb_chat_* и выполните SQL запрос повторно.
Всё нормально. Спасибо. А как то настроить можно, чтобы гости могли тоже писать?

Added after 24 minutes 47 seconds:
И по умолчанию выключить звук.
Павел
Гость

Post #269by sag-sag » 30.01.2014, 11:16

Здравсвтуйте. Только не ругайтесь :help:

Дайте пожалуйста инструкцию, как вынести чат на главную страницу. Я уже тему вдоль и поперек всю прочел. Нет точной инструкции как это сделать.

Спасибо!
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #270by VEG » 30.01.2014, 13:11

Павел wrote:А как то настроить можно, чтобы гости могли тоже писать?
Никак, этот чат не поддерживает гостевой доступ.

Павел wrote:И по умолчанию выключить звук.
Найдите в шаблоне код:
Code: Select all
Sound =
{
   Enabled: 1,
Замените 1 на 0.

sag-sag, как я написал выше, всё зависит от используемого вами стиля.

Как вариант, в шаблоне index_body.html перед строкой:
Code: Select all
<!-- IF S_ANNOUNCE_INDEX and .announcetopic -->
Добавьте:
Code: Select all
<!-- IF S_USER_LOGGED_IN -->
<div class="forumbg">
   <div class="inner"><span class="corners-top"><span></span></span>
      <ul class="topiclist">
         <li class="header"><dl><dt><a href="./chat/index.php">Чат</a></dt></dl></li>
      </ul>
      <ul class="topiclist forums">
         <li><dl>
            <dd style="border-left:0px; width: 100%;">
             <iframe src="./chat/index.php" width="100%" height="250" style="border: 0;"></iframe>
           </dd>
         </dl></li>
      </ul>
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->

Сразу скажу, что не тестировал, скопировал из шаблона одного из форумов, где это было когда-то реализовано.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #271by sag-sag » 30.01.2014, 17:42

Получилось!!! :smile: - http://tehgam.com/
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #272by sag-sag » 02.02.2014, 16:35

А вот еще вопрос: как убрать колонку Сейчас в чате?

А то после выноса на главную, теперь количество тех кто в чате растет, хотя например на форуме никого нет. И еще заметил баг, после выноса чата на главную: приватные сообщения не работают.

Спасибо
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #273by Tehnoman » 25.02.2014, 22:30

www.clubkamaz.ru
Спасибо за чат.
Есть вопросик, как увеличить окошко со смайлами?
Tehnoman
Гость

Post #274by Sumanai » 25.02.2014, 23:17

Открываете \chat\template\style.css
И находите в нём
Code: Select all
#smiles {
    bottom: 0;
    height: 60px;

И меняете 60 на требуемую высоту в пикселях.

Так же, чтобы блок смайлов не пересекался с блоком пользоателей, найдите этот блок
Code: Select all
#users {
position: absolute;
bottom: 60px;
height: auto;

И заменяете строку с height на
Code: Select all
    height: calc(100% - 60px);
Где 60- высота блока смайлов, указанная вами выше.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1578
With us: 4 yaers 4 months

Post #275by Tehnoman » 27.02.2014, 12:13

Спасибо
Tehnoman
Гость

Post #276by sag-sag » 08.03.2014, 00:48

Возникла проблема:
После выполнения этой инструкции: /viewtopic.php?t=41&p=7366#p7366 по удалению Нас приветствует Нас покидает, в столбике Сейчас в чате, перестали очищаться пользователи...
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #277by VEG » 08.03.2014, 01:45

sag-sag, эта инструкция более не актуальна, версия чата обновилась с тех пор. Верните всё как было. В самом начале файла index.php объявлены следующие настройки: JOIN_MESSAGES и LEFT_MESSAGES. Выключите их (замените значение true на false).
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

Post #278by sag-sag » 08.03.2014, 09:31

Спасибо VEG!!!!
"Сбит с ног - сражайся на коленях, идти не можешь - лежа наступай". В. Ф. Маргелов
sag-sag M
Гуру
Age: 30
Reputation: 351
With us: 3 yaers 10 months

Post #279by typidon » 15.03.2014, 18:59

простите за нубский вопрос но всё же
как правильно выполните содержимое install.sql в базе?
как я понял нужно залить в БД
залил, но почему то чат не работает, я первый раз PHPbb пользуюсь, может есть инструкция по подробней?
typidon
Новичок
Reputation: 0
With us: 3 yaers 3 months

Post #280by VEG » 15.03.2014, 19:01

typidon, открываете в PhpMyAdmin базу данных, в которую установлен ваш форум. Там вы увидите вкладку SQL. Переходите на неё. В отведённое окно вставьте содержимое файла install.sql и выполните.

typidon wrote:залил, но почему то чат не работает
Может быть всё работает, но вы заходите в него неправильно? Какую ошибку выдаёт чат?
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1573
With us: 5 years 2 months

PreviousNext

Return to Мастерская