Pull to refresh

Вышел OpenChatPhp-1.1

Reading time3 min
Views2.5K

Недавно, - если быть точным - 3 года назад, я начал делать чат на PHP для собственных нужд. Буквально на днях я доработал пару функций и решил его всё-таки выпустить в мир. Технология, которую использует данная система, уже считается устаревшей: PHP (ООП, MVC), AJAX (XMLHttpRequest), HTML5, MYSQLI, CSS3. На одном из каналов Telegram кто-то пошутил и назвал чат ламповым, по аналогии с ламповыми телевизорами. Что тут скажешь?! Метафорически точно и остроумно подмечено! Изначально система задумывалась для замены чата на файлах в движке одной браузерной игры. Основная задача была: сделать максимально простую систему.

В 2022 году считается, что чаты на Ajax уже не делают, но почему-то продолжают делать системы комментариев к блогам, новостям и доскам объявлений. В моем представлении системы, которые называют message board и chat, в целом имеют схожую схему работы, а порой вообще отличаются только названием. Система, которая получилась у меня, - что-то среднее между доской сообщений и чатом.

Особенности

1) Система не хранит все сообщения, количество сообщений в базе данных всегда 50 (количество настраивается администратором).

2) Поскольку чат работает без перезагрузки страницы (Ajax), то история сообщений хранится у пользователей. Каждые 30 минут окно перезагружается и стирает историю. Это часть концепции чата: забота о хранении истории перекладывается на пользователя.

3) Чат многоканальный. Есть возможность создавать закрытые каналы. На главной странице отображается только 15 открытых каналов. Для работы с закрытым каналом требуется указать пароль (общий) и имя канала. Есть переключение между каналами с помощью мыши.

4) Ссылки в чате конвертируются. Также отображаются в чате изображения (конвертация ссылок на изображения).

5) Присутствует система выделения текста, а также возможность отправить приватеное сообщение пользователю через alert.

6) Система открытая и не имеет панели управления. Редактировать базу данных предлагается через phpmyadmin. Только каналы можно создавать на лету.

Где может пригодиться подобная система?

1) На системах, где нет необходимости создавать специальные учётные записи пользователей (небольшие офисы в одном здании).

2) На системах, где нет необходимости или возможности использовать интернет-мессенджеры и чаты.

3) Если нужно быстро развернуть сервер для общения и дать доступ десятку-двум пользователям через браузер.

Система протестирована и корректно работает с последними версиями браузеров Firefox и Chrome. Для установки требуется иметь навык работы с phpmyadmin и начальные навыки редактирования кода. Описание системы и установки находятся в сопроводительном файле.

Пример работы чата можно посмотреть здесь: http://comb.org.ru/chat/index.php

Последнюю версию чата можно скачать здесь: https://gitflic.ru/project/dcc0/open

Или здесь: https://github.com/dcc0/OpenChatPhp/tree/OpenChatPhp-1.1-2022

Обложка: отечественный телеграф. Фото из Интернета.

Данная система является открытым ПО, разработанным в России.

На правах рекламы: чат полностью написан в редакторе Geany.

Update: 21.10.2022

Устранен ряд ошибок. Отфоматирован код JS.

Благодарность всем за участие в тестировании и дельные комментарии!

Добавлена версия чата для установки на Windows XP, поддерживаются старые версий PHP (6.0 как минимум). Рекомендуется использовать AppServ 2.6.0.

Ссылка на архив zip: https://gitflic.ru/project/dcc0/mix-c-89-php/blob?file=OpenChatPhp_for_WinXp.zip

Post Scriptum

Открытый чат на php с исполнением ajax также интересен возможностью работать с ним со старых устройств, включая читалки на жидких чернилах. Фото:

Tags:
Hubs:
Total votes 12: ↑5 and ↓7-2
Comments49

Articles