Blog. Just Blog

PCL's Mini-Chat 1.0

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
По просьбам трудящихся выкладываю облегченную версию своего мини-чата. На этом сайте используется похожий скрипт, но он тесно интегрирован с остальными модулями движка и отделить его с сохранением всего функционала не представляется возможным. Скрипт написан практически заново и содержит минимальный набор функций, но его функционал можно легко расширять. Скрипт легко интегрируется в любые сайты, написанные на PHP, генерируемый HTML-код и стили CSS проходят валидацию. Для работы скрипта на сервере требуется PHP версии 4 и выше, база MySQL версии 4 и выше, клиентской части требуется поддержка в браузере пользователя JavaScript. Перед установкой мини-чата и заливкой его на сервер надо настроить данные подключения MySQL-базы (файл chat_engine/chat_config.php):
  1. // Данные для подключения к базе
  2. $chat_config['mysql_name']="test";
  3. $chat_config['mysql_host']="localhost";
  4. $chat_config['mysql_user']="root";
  5. $chat_config['mysql_password']="";
  6. // Таблица мини-чата в базе
  7. $chat_config['mysql_table']="chat_table";
и данные авторизации администратора чата:
  1. // Логин админа чата
  2. $chat_config['admin_login']="admin";
  3. // Пароль = md5(md5('password'))
  4. // по умолчанию пароль "password"
  5. $chat_config['admin_password']="696d29e0940a4957748fe3fc9efd22a3";
Обязательно смените дефолтный логин и пароль! Пароль, естественно, должен храниться только в виде хэша, который можно вычислить любой программой для расчета MD5. Логин и пароль чувствительны к регистру. Настройки самого чата лучше не изменять:
  1. // Количество сообщений, одновременно отображаемых в чате
  2. $chat_config['message_count']=20;
  3. // Максимальное количество символов в сообщении
  4. $chat_config['message_text']=200;
  5. // Максимальное количество символов в имени
  6. $chat_config['message_name']=20;
Для защиты от спама используется скрытое поле с ключевым словом, его значение меняется в настройках. Лучше использовать только латинские буквы и цифры.
  1. // Кодовое слово для защиты от спама
  2. $chat_config['chat_nospam']="NO-MORE-SPAM";
Настройки внешнего вида и размеры окна чата изменяются стилями в файле chat_styles.css, в соответствующих шаблонах в папке chat_template, а иконки на кнопках в папке chat_images. По умолчанию все пути к компонентам мини-чата относительные, кодировка windows-1251.

Для инсталляции чата предназначен файл install.php, если установка прошла нормально, то должно появиться сообщение PCL's Mini-Chat successfully installed или же диагностическое сообщение об ошибке в случае неудачи. Для проверки работоспособности чата инсталлятор сразу заносит одно тестовое сообщение в базу. В целях безопасности после установки настоятельно рекомендуется удалить install.php с сервера.

Пример подключения мини-чата к основному сайту можно посмотреть в файле index.php:
  1. //------------------------------------------------------------------
  2. // Подключение мини-чата
  3. //------------------------------------------------------------------
  4. define('PCL_CHAT_OK','OK');
  5.  
  6. // Подключение файла конфигурации
  7. require_once "chat_engine/chat_config.php";
  8.  
  9. if (!defined('CONFIG_OK')) {
  10.   echo "Config error";
  11.   exit;
  12. }
  13. // Подключение движка чата
  14. require_once "chat_engine/chat_engine.php";
  15. $chat = new pcl_chat($chat_config);
  16. // Вывод основного фрейма чата
  17. echo $chat->write_frame();
Для перевода мини-чата в режим администрирования вызовите его по ссылке:

chat.php?action=login

(в демонстрационном примере ссылка установлена на "Name"). После ввода логина и пароля, указанного в конфигурации, в чате открываются дополнительные возможности: удаление сообщений и просмотр ip-адреса пользователя, оставившего сообщение. Чтобы выйти из режима администрирования зайдите по этой же ссылке и введите любой неправильный пароль или просто очистите cookies в браузере. Функционал чата расширяется в файле chat_engine.php в функции process_text, вы можете добавить туда, например, парсер BBcode, обработку смайликов, активные ссылки и т.п. на ваше усмотрение.

Скрипт протестирован и гарантированно работает на локальном сервере под Windows и на хостинговом сервере под Linux. Любые "а у меня не работает" рассматриваться не будут, все проблемы только на вашей стороне. Дальнейшее развитие и поддержка проекта не планируется, вы можете самостоятельно дорабатывать скрипт с указанием первоначального авторства. Категорически запрещается использовать мини-чат в составе коммерческих проектов, а также распространять за плату или любое иное вознаграждение.

PCL's Mini-Chat 1.0PCL's Mini-Chat 1.0

PCLs.Mini-Chat.1.0.zip (11,689 bytes)


Поделиться ссылкой ВКонтакте
Просмотров: 6425 | Комментариев: 16

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (14.03.2014 в 19:47):
Защита от спама, очевидно же. Поле меняется через JS, спамботы идут лесом.
vladmish (14.03.2014 в 18:38):
Здравствуйте,ManHunter.
Я так и не могу понять для чего нужно
$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])) {
Такая замена правильная?
Станислав (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
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
Подскажите что не так сделал?
И еще вопрос, обновления намечаются?
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 раз Спасибо!

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 2 (0.0061 сек.) / Память: 4.5 Mb
Наверх