Бэкенд‑движок сообщества с форумом, мгновенным чатом и личками «Discord-уровня». Разворачивается за 5 минут, управляется из одной админки — сразу после импорта database.sql и правки config.php.
Разделы и их функционал
Главная (/)
— Живая сводка: онлайн, всего бойцов, тем и сообщений. — Блок «Объявление» (берётся из настроек, HTML‑безопасный вывод). — Последние 6 тем форума + 5 свежих донесений из общего чата.
Профиль (/profile/ник и /profile — личный кабинет)
— Публичная карточка бойца: ник, роль‑бейдж (имя+цвет), аватар, статус «онлайн/был в сети …», статистика (темы/посты/сообщения). — Личный кабинет: редактирование ника/email, смена пароля, загрузка аватара (crop+ресайз, лимит 2 МБ), валидация уникальности.
Форум (/forum/[category/N] и /forum/topic/N)
— Дерево разделов бесконечной глубины (категории → подкатегории), агрегация счётчиков и «последней темы» по поддереву. — Темы: закрепление, закрытие, счётчик просмотров, пагинация 15/страницу. — Сообщения: вложенные ответы без лимита глубины (parent_id), цитаты
| Язык | PHP 7.4+ (чистый, без фреймворков) |
| База | MySQL 5.7 (utf8mb4) через PDO с подготовленными запросами |
| API | Один эндпоинт api.php — все действия AJAX (JSON), CSRF‑защита на POST |
| Роутер | index.php — фронт‑контроллер + mod_rewrite ЧПУ (/forum/topic/123, /messages/dialog/5) |
| Шаблоны | View.php → header.php + templates/*/*.php + footer.php (чистый PHP‑шаблонизатор с extract) |
| UI | Vanilla CSS (assets/css/style.css, темная, через CSS‑переменные) + JS (assets/js/*.js), fetch в API |
| Загрузка | Upload.php — GD: переименовка, MIME‑проверка (finfo), ресайз аватаров (crop 128×128) и миниатюры (fit 360px) |
| Безопасность | HttpOnly + SameSite=Lax сессии, password_hash/password_verify, CSRF‑токены, XSS‑экранирование (e()), защита «бойца #1» |
| Хостинг | Apache 2.4 (.htaccess в комплекте), upload_max_filesize 6M |
Разделы и их функционал
Главная (/)
— Живая сводка: онлайн, всего бойцов, тем и сообщений. — Блок «Объявление» (берётся из настроек, HTML‑безопасный вывод). — Последние 6 тем форума + 5 свежих донесений из общего чата.
Профиль (/profile/ник и /profile — личный кабинет)
— Публичная карточка бойца: ник, роль‑бейдж (имя+цвет), аватар, статус «онлайн/был в сети …», статистика (темы/посты/сообщения). — Личный кабинет: редактирование ника/email, смена пароля, загрузка аватара (crop+ресайз, лимит 2 МБ), валидация уникальности.
Форум (/forum/[category/N] и /forum/topic/N)
— Дерево разделов бесконечной глубины (категории → подкатегории), агрегация счётчиков и «последней темы» по поддереву. — Темы: закрепление, закрытие, счётчик просмотров, пагинация 15/страницу. — Сообщения: вложенные ответы без лимита глубины (parent_id), цитаты
ник написал(а):
