PCL's Mini-Chat 1.0
По просьбам трудящихся выкладываю облегченную версию своего мини-чата. На этом сайте используется похожий скрипт, но он тесно интегрирован с остальными модулями движка и отделить его с сохранением всего функционала не представляется возможным. Скрипт написан практически заново и содержит минимальный набор функций, но его функционал можно легко расширять. Скрипт легко интегрируется в любые сайты, написанные на PHP, генерируемый HTML-код и стили CSS проходят валидацию. Для работы скрипта на сервере требуется PHP версии 4 и выше, база MySQL версии 4 и выше, клиентской части требуется поддержка в браузере пользователя JavaScript. Перед установкой мини-чата и заливкой его на сервер надо настроить данные подключения MySQL-базы (файл chat_engine/chat_config.php):Code (PHP) : Убрать нумерацию
- // Данные для подключения к базе
- $chat_config['mysql_name']="test";
- $chat_config['mysql_host']="localhost";
- $chat_config['mysql_user']="root";
- $chat_config['mysql_password']="";
- // Таблица мини-чата в базе
- $chat_config['mysql_table']="chat_table";
Code (PHP) : Убрать нумерацию
- // Логин админа чата
- $chat_config['admin_login']="admin";
- // Пароль = md5(md5('password'))
- // по умолчанию пароль "password"
- $chat_config['admin_password']="696d29e0940a4957748fe3fc9efd22a3";
Code (PHP) : Убрать нумерацию
- // Количество сообщений, одновременно отображаемых в чате
- $chat_config['message_count']=20;
- // Максимальное количество символов в сообщении
- $chat_config['message_text']=200;
- // Максимальное количество символов в имени
- $chat_config['message_name']=20;
Code (PHP) : Убрать нумерацию
- // Кодовое слово для защиты от спама
- $chat_config['chat_nospam']="NO-MORE-SPAM";
Для инсталляции чата предназначен файл install.php, если установка прошла нормально, то должно появиться сообщение PCL's Mini-Chat successfully installed или же диагностическое сообщение об ошибке в случае неудачи. Для проверки работоспособности чата инсталлятор сразу заносит одно тестовое сообщение в базу. В целях безопасности после установки настоятельно рекомендуется удалить install.php с сервера.
Пример подключения мини-чата к основному сайту можно посмотреть в файле index.php:
Code (PHP) : Убрать нумерацию
- //------------------------------------------------------------------
- // Подключение мини-чата
- //------------------------------------------------------------------
- define('PCL_CHAT_OK','OK');
- // Подключение файла конфигурации
- require_once "chat_engine/chat_config.php";
- if (!defined('CONFIG_OK')) {
- echo "Config error";
- exit;
- }
- // Подключение движка чата
- require_once "chat_engine/chat_engine.php";
- $chat = new pcl_chat($chat_config);
- // Вывод основного фрейма чата
- echo $chat->write_frame();
chat.php?action=login
(в демонстрационном примере ссылка установлена на "Name"). После ввода логина и пароля, указанного в конфигурации, в чате открываются дополнительные возможности: удаление сообщений и просмотр ip-адреса пользователя, оставившего сообщение. Чтобы выйти из режима администрирования зайдите по этой же ссылке и введите любой неправильный пароль или просто очистите cookies в браузере. Функционал чата расширяется в файле chat_engine.php в функции process_text, вы можете добавить туда, например, парсер BBcode, обработку смайликов, активные ссылки и т.п. на ваше усмотрение.
Скрипт протестирован и гарантированно работает на локальном сервере под Windows и на хостинговом сервере под Linux. Любые "а у меня не работает" рассматриваться не будут, все проблемы только на вашей стороне. Дальнейшее развитие и поддержка проекта не планируется, вы можете самостоятельно дорабатывать скрипт с указанием первоначального авторства. Категорически запрещается использовать мини-чат в составе коммерческих проектов, а также распространять за плату или любое иное вознаграждение.
Просмотров: 6511 | Комментариев: 16
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(14.03.2014 в 19:47):
Защита от спама, очевидно же. Поле меняется через JS, спамботы идут лесом.
vladmish
(14.03.2014 в 18:38):
Здравствуйте,ManHunter.
Я так и не могу понять для чего нужно
$chat_config['chat_nospam']="NO-MORE-SPAM";
и как оно работает.
Я так и не могу понять для чего нужно
$chat_config['chat_nospam']="NO-MORE-SPAM";
и как оно работает.
Станислав
(06.02.2011 в 21:46):
ManHunter, спасибо работает.
Не сочтите за наглость, хотя пусть и так. (ведь месяц доставал с этим чатом)))
Опция - "автообновления" как у вас на блоге.
Не сочтите за наглость, хотя пусть и так. (ведь месяц доставал с этим чатом)))
Опция - "автообновления" как у вас на блоге.
ManHunter
(06.02.2011 в 19:07):
Почисти cookie, и все будет нормально.
Станислав
(06.02.2011 в 17:29):
Вот еще моменты. (скрин - http://pics.kz/view/2088077) Все установилось, но ip видно не входя под акаунтом админа, и опция удалить сообщение тоже присутствует... (эдак пользователь враз очистит чат)
я как бета-тестер слаб конечно, но как то так...
я как бета-тестер слаб конечно, но как то так...
Станислав
(06.02.2011 в 16:57):
Всё дело видимо в версии пхп 5.3. поэтому выдает что функция устарела...
Если 94 строку:
if (eregi("[a-zа-яА-Я]",$str[$i])) {
Заменить так, это будет правильно?
if (eregi("[a-zа-яА-Я]",$str[$i])) {
извиняюсь, продублировал строки. if (eregi("[a-zа-яА-Я]",$str[$i])) { заменить: if (preg_match('/[a-zа-яА-Я]/',$str[$i])) {
Такая замена правильная?
Если 94 строку:
if (eregi("[a-zа-яА-Я]",$str[$i])) {
Заменить так, это будет правильно?
if (eregi("[a-zа-яА-Я]",$str[$i])) {
извиняюсь, продублировал строки. if (eregi("[a-zа-яА-Я]",$str[$i])) { заменить: if (preg_match('/[a-zа-яА-Я]/',$str[$i])) {
Такая замена правильная?
Станислав
(06.02.2011 в 16:11):
ManHunter, Барон вы очень оперативны ;-)
Насчет обновлений все понял, спасиб.
Установка получилась, есть правда один момент. В тексте сообщения выдало много вот таких ошибок:
Deprecated: Function eregi() is deprecated in C:\home\test1.ru\www\chat_engine\chat_engine.php on line 94
Насчет обновлений все понял, спасиб.
Установка получилась, есть правда один момент. В тексте сообщения выдало много вот таких ошибок:
Deprecated: Function eregi() is deprecated in C:\home\test1.ru\www\chat_engine\chat_engine.php on line 94
ManHunter
(06.02.2011 в 15:20):
Да, мой косяк. В install.php надо было поменять все $config на $chat_config. Архив перезалил, спасибо.
А обновлений не будет, я об этом написал вполне понятно.
А обновлений не будет, я об этом написал вполне понятно.
Станислав
(06.02.2011 в 12:24):
Хм... Ставлю на локальный сервер на Денвере
Подключение вроде сделал правильно
$chat_config['mysql_name']="Имя БД";
$chat_config['mysql_host']="localhost"; - это поле не трогаем
$chat_config['mysql_user']="Имя пользователя ДБ";
$chat_config['mysql_password']="Пароль пользователя БД";
// Таблица мини-чата в базе
$chat_config['mysql_table']="chat_table"; - и это поле можно не трогать
При инсталяции выдает: ERROR: Connection error
Подскажите что не так сделал?
И еще вопрос, обновления намечаются?
Подключение вроде сделал правильно
$chat_config['mysql_name']="Имя БД";
$chat_config['mysql_host']="localhost"; - это поле не трогаем
$chat_config['mysql_user']="Имя пользователя ДБ";
$chat_config['mysql_password']="Пароль пользователя БД";
// Таблица мини-чата в базе
$chat_config['mysql_table']="chat_table"; - и это поле можно не трогать
При инсталяции выдает: ERROR: Connection error
Подскажите что не так сделал?
И еще вопрос, обновления намечаются?
Serega
(17.09.2010 в 20:45):
Эх... жаль что у меня кривые руки.) Не могу понять как таблицу создать в mysql, а вроде счастье было так близко! Инсталяция не происходит, пустой экран, хотяб ошибку выдало. Буду ковырять дальше... Зарание Спасибо за ЧАТик!!!
нонэйм
(03.07.2010 в 10:14):
Огромное спасибо за чат - в масштабах блогостоя это просто шедевр! ;-)
ipSlicer
(27.12.2009 в 06:53):
Приятно посмотреть на работу профессионала. С наступающим Новым Годом!
ManHunter
(26.12.2009 в 17:11):
Неужели работает? :)
Станислав
(26.12.2009 в 17:01):
Еще раз спасибо. Код написан профессионально и "красиво". По сути это БРЭНД ;) Еще раз спасибо ОГРОМЕННОЕ. Сколько я только этих чатов не перебрал, какие только не смотрел. То что надо! Маэстро спасибо ;)
ManHunter
(26.12.2009 в 16:02):
Для самых хитрожопых и одаренных сразу поясняю: на сайте используется совершенно другой скрипт, и все, кто еще раз попытается "пощупать" блог на основании предлагаемого скрипта, отправятся в черный список. Ваши хакерские замашки оставляйте для каких-нибудь других сайтов.
Станислав
(26.12.2009 в 06:21):
ManHunter ОГРОМНОЕ СПАСИБО :) Чат просто заглядение. Не думал вообще что выложишь ;) Забрал, с удовольствием буду встраивать его в форум. 100 раз Спасибо!
Добавить комментарий
Заполните форму для добавления комментария