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 16692 times
    (версия для 3.1-
    phpbb3_simplechat_3.1.zip
    Исправленная версия для работы на 3.1
    (78.05 KiB) Downloaded 1441 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 1787 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: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months


Post #21by Kordan » 18.09.2012, 21:34

VEG wrote:Можно так:
Code: Select all
if ($forum_id == 4) return;
Но это очень, очень плохо. Хардкодить значения в код неприлично. Но полноценного решения предложить не могу — это надо значительный кусок кода написать.

Спасибо заработало, согласен, но в качестве полумеры покамест пойдет. Пришлось 6 значений прописать.

Добавлено спустя 2 часа 24 минуты 52 секунды:
У меня еще предложение. Было бы не плохо сделать визуальное оповещение о новом сообщении в виде моргания в названии окна вкладки. Т.к. открыто много вкладок и постоянно приходится переключаться для проверки новостей чата. Ну и заодно, если уж придется сделать функцию определения активности окна, можно сделать находится ли человек в активном окне чата, например изменением цвета пользователя, но с задержкой в 5 мин, как в аське, типа пользователь отошел.
Kordan
Новичок
Reputation: 1
With us: 5 years 2 months

Post #22by angst66 » 19.09.2012, 08:11

Heroin
Тут почитай всю тему
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #23by VEG » 19.09.2012, 10:47

angst66 wrote:На форуме есть блоги. Было бы хорошо если бы бот сообщал о новых записях и комментариях.
К сожалению, код блогов никогда не видел и не знаю, как там это реализовать.
angst66 wrote:Да , и как закрыть доступ некоторым группам к чату, не просто спрятать ссылку а не дать права заходить в чат?
Это реализовать не сложно. Чуть позднее постараюсь выложить код.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #24by angst66 » 19.09.2012, 21:01

VEG wrote:К сожалению, код блогов никогда не видел и не знаю, как там это реализовать.

Какой код нужно показать?
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #25by Kordan » 20.09.2012, 15:13

Прописал краткие правила пользования чатом для пользователей. Разместил над смайликами. Также можно заметить ссылочки на портал и форум.
Attachments
screenshot.3.png
Kordan
Новичок
Reputation: 1
With us: 5 years 2 months

Post #26by VEG » 21.09.2012, 22:38

angst66 wrote:Да , и как закрыть доступ некоторым группам к чату, не просто спрятать ссылку а не дать права заходить в чат?

В файле chat/index.php перед:
Code: Select all
/*
// Проверка бана
Добавить:
Code: Select all
if(!$auth->acl_get('u_usechat'))
{
   if($action!=ACT_LOAD) echo('FullReset();');
   else trigger_error('У вас нет права заходить в чат');
   exit;
}

В файлах language/en/acp/permissions_phpbb.php и language/ru/acp/permissions_phpbb.php добавить языковые переменные после строки:
Code: Select all
   'acl_u_search'      =>
Добавить:
Code: Select all
   'acl_u_usechat'      => array('lang' => 'Может использовать чат', 'cat' => 'misc'),
и:
Code: Select all
   'acl_u_usechat'      => array('lang' => 'Can use chat', 'cat' => 'misc'),

И напоследок выполните запрос:
Code: Select all
REPLACE INTO phpbb_acl_options (auth_option, is_global) VALUES ('u_usechat', 1);

Сразу говорю, что не тестировал. Но по идее должно работать.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #27by angst66 » 22.09.2012, 08:11

VEG,
А где ид группы прописана?
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #28by VEG » 22.09.2012, 12:47

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

Post #29by angst66 » 22.09.2012, 15:15

Проверил, работает ограничение и по группами и по пользователям. Запрещает только когда отмечено "никогда"
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Цвет администрации

Post #30by angst66 » 26.09.2012, 21:31

Возможно ли прописать для администрации свой, особый цвет шрифта?
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #31by angst66 » 28.09.2012, 14:32

Так же вопрос по смайлам. Показывает те смайлы, которые отмечены "показывать на странице ответа". Из за этого на странице ответа приходится держать кучу смайлов, необходимых по мнению юзеров. Нельзя ли не отмеченные таким чебоксом смайлы или просто "еще смайлы" прикрутить к чату?
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #32by angst66 » 29.09.2012, 18:46

Добавлю хотелку. Некоторые люди просят , чтобы в окне сообщений слева свой ник выделялся или цветом , или шрифтом. Так им удобней видеть свои сообщения.
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #33by Bol1Var » 30.09.2012, 15:27

Всем привет. Еще раз благодарствую VEG'у за классный чат. У меня возник вопрос, напишите пжлст кто знает, как в чате можна отсылать видео, картинки..нужно добавлять какойто bbcode гдето, или уже все готово? подскажите. За ранее спасибо!
Bol1Var
Гость

Post #34by VEG » 30.09.2012, 16:31

angst66 wrote:Проверил, работает ограничение и по группами и по пользователям. Запрещает только когда отмечено "никогда"
Так и должно быть, если у зарегистрированных стоит да. Дело в том, что права группы «Зарегистрированные» распространяются на другие группы (кроме гостей и ботов).
angst66 wrote:Так же вопрос по смайлам. Показывает те смайлы, которые отмечены "показывать на странице ответа". Из за этого на странице ответа приходится держать кучу смайлов, необходимых по мнению юзеров. Нельзя ли не отмеченные таким чебоксом смайлы или просто "еще смайлы" прикрутить к чату?
Путём некоторой переработки вёрстки шаблона можно добиться этого. В следующем релизе учту это пожелание. Небольшое обновление планируется. Хочу ещё немного «причесать» код, чтобы не так стыдно было (чат писался очень давно) :)
angst66 wrote:Добавлю хотелку. Некоторые люди просят , чтобы в окне сообщений слева свой ник выделялся или цветом , или шрифтом. Так им удобней видеть свои сообщения.
В качестве меры выделения своих сообщений задумывался выбор цвета сообщения. Если у каждого пользователя он свой — проблем нет :) Хотя, в оригинальном чате на delpimaster.ru (который и вдохновил меня когда-то) была подсветка строк с именем пользователя (у времени другой фон).

delphimaster.png
Чат delphimaster.ru


Так что может быть тоже что-то такое добавлю (как вдохновения хватит).

Добавлено спустя 3 минуты 37 секунд:
Bol1Var wrote:Всем привет. Еще раз благодарствую VEG'у за классный чат. У меня возник вопрос, напишите пжлст кто знает, как в чате можна отсылать видео, картинки..нужно добавлять какойто bbcode гдето, или уже все готово? подскажите. За ранее спасибо!
Это же чат, и обработка BBCode в нём намеренно выключена. Если хотите вернуть — нужно копать код, который парсит смайлики. Для обработки BBCode phpBB использует тот же класс. К сожалению, более детально не подскажу — много времени уходит на подготовку юбилейного релиза phpBBex.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #35by Bol1Var » 30.09.2012, 17:20

Хорошо, VEG, но это же твой чат и если пользователь твоего чата, обращается с помощью к тебе на форум..ты просто обязан ему помочь - это подчеркивает твое проффесиональное отношение к твоей работе! Поэтому я хочу, чтобы ты мне и грубо говоря многим, кто нуждается в решении этого вопроса помог!
Code: Select all
// Парсим смайлики и ссылки в сообщениях больше 1
         if(utf8_strlen($text)>1)
         {
            $message_parser = new parse_message($text); // "0" воспринимает как NULL
            $message_parser->magic_url(false);
            $message_parser->smilies(0);
            $text = (string) $message_parser->message;
            unset($message_parser);
            $text = str_replace("<a ", "<a target='_blank' ", $text); // Ссылки в новом окне
            $text = str_replace("{SMILIES_PATH}", "{$phpbb_root_path}{$config['smilies_path']}", $text);
         }
         $text = str_replace("to [".$user->data['username']."]", "<span class=\"to\">to [".$user->data['username']."]</span>", $text);
         $text = addslashes($text);
         echo("LogMessage($msg_id, '$time', '$username', '$text', '$color');\n");
      }
      echo("SetLastId($last_id);\n");
вот этот код, напиши пжлст, код, который нужно прописать, чтобы в чате, можна было выбирать переменные bbcode - video, media, img.
Буду благодарен, как и большинство пользователей чата!
P.S. нету времени уделить на это внимание сейчас, удели попоже. С Уважением!
Bol1Var
Гость

Post #36by VEG » 01.10.2012, 01:32

Bol1Var, чат предоставляется «как есть», какие-либо правки в основную поддержку не входят. Идея внедрения BBCode в чат мне не нравится, поэтому ничего не обещаю.
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #37by angst66 » 01.10.2012, 12:13

Кнопочку вызова виртуальной клавиатуры бы надо, просят люди. Не все могут печатать вслепую в темноте, а кто то выводит инет на экран телевизора.
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

Post #38by VEG » 01.10.2012, 12:16

angst66, виртуальную клавиатуру (которая встроена в Windows) невозможно запустить из браузера. Её пользователь может запустить только сам, через пуск. Ну или Win+R, osk и ввод :)
С наилучшими пожеланиями, Евгений
VEG M
Topic author, Администратор
Avatar
Age: 30
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 7 months

Post #39by Bol1Var » 01.10.2012, 21:11

хаха, несерйозный человек!
Bol1Var
Гость

Post #40by angst66 » 05.10.2012, 13:06

VEG, Я про ту виртуальную клавиатуру, которая встраивается на сайт. http://winrus.com/vk/readme_r.htm , разработчик дал варианты, а я не могу разобратся, может подскажешь?
angst66
Бывалый
Reputation: 13
With us: 5 years 3 months

PreviousNext

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