FOXS
Постоялец
- Регистрация
- 22 Июн 2018
- Сообщения
- 95
- Реакции
- 15
- Автор темы
- #1
Глубако извеняюсь если я не так оформил или не в ту тему положил пост, исправте или пренесите где оно должно быть. Огромное Спасибо за понимание !
CMS"Belloo Dating"-"LovesUa" — Платформа знакомств и общения (CMS)
Полная документация проекта, отчёт о выполненных доработках, технической оптимизации и системных требованиях для установки на хостинг/сервер.
Содержание
- Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся - Для просмотра ссылки Войди
или Зарегистрируйся
1. Системные требования и характеристики хостинга
Этот скрипт оптимизирован для работы на большинстве виртуальных хостингов (cPanel, ISPmanager, FastPanel, DirectAdmin, HestiaCP) и выделенных VPS/VDS серверах на базе Linux (Ubuntu 20.04/22.04/24.04, Debian 11/12, AlmaLinux/Rocky Linux).
1.1. Веб-сервер
- Веб-сервер: Apache 2.4+ или связка Nginx + Apache (где Nginx выступает как Reverse Proxy).
- Модули Apache (обязательно включены

- mod_rewrite — для работы ЧПУ-ссылок (маршрутизация страниц).
- mod_headers — для настройки заголовков безопасности, CORS и браузерного кэша.
- mod_deflate — для GZIP-сжатия передаваемого трафика (HTML, CSS, JS, SVG, JSON).
- mod_expires — для долгосрочного кэширования статических ресурсов.
- Поддержка файлов .htaccess: Директива AllowOverride All (разрешение на чтение правил из .htaccess).
- SSL-сертификат (HTTPS
Обязателен (например, бесплатный Let's Encrypt). Требуется для безопасности, PWA-приложения, HTML5-геолокации и WebRTC-видеозвонков.
1.2. Интерпретатор PHP
- Рекомендуемая версия PHP: PHP 7.4 (также полностью поддерживаются версии PHP 7.1, 7.2, 7.3).
- Необходимые модули и расширения PHP:
- mysqli — работа с базой данных MySQL/MariaDB.
- curl — взаимодействие со сторонними API (Pusher, геокодирование карт, авторизация через соцсети, платежные шлюзы).
- gd — обработка, сжатие, обрезка и генерация аватаров и фотографий пользователей.
- mbstring — корректная обработка многобайтовых строк UTF-8 и кириллицы.
- fileinfo — валидация MIME-типов загружаемых файлов.
- zip — распаковка и экспорт тем, плагинов и языковых пакетов.
- intl — поддержка интернационализации и локализации дат.
- xml / dom — парсинг и работа со структурированными XML/HTML данными.
- json — кодирование и декодирование JSON-ответов.
- openssl — шифрование и безопасные сетевые запросы.
- exif — автоповорот фотографий, сделанных на смартфоны.
- Рекомендуемые параметры php.ini:
Ini, TOML
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 120
max_input_vars = 3000
allow_url_fopen = On
short_open_tag = On
session.auto_start = Off
1.3. База данных (MySQL)
- СУБД: MySQL 5.7+ или MariaDB 10.2+ (поддерживается и MySQL 8.0).
- Кодировка базы данных: utf8mb4 (сопоставление / collation: utf8mb4_unicode_ci или utf8_general_ci) — для полноценной поддержки эмодзи в чатах и профилях.
- SQL Mode: Стандартный режим (рекомендуется отключить строгий ONLY_FULL_GROUP_BY в случае возникновения специфических группировок).
1.4. Права доступа к файлам и папкам (Permissions)
Веб-сервер должен иметь права на запись (chmod 755 или 775, владелец www-data или пользователь хостинга) к следующим каталогам:- assets/sources/ (и все вложенные папки: uploads/, presets/ и т.д.).
- assets/includes/ (для создания config.php во время установки).
- install/ (на время первой установки).
1.5. Рекомендуемые характеристики VPS/VDS (если используется виртуальный сервер)
- Процессор: 1–2 ядра (vCPU).
- Оперативная память: от 1 ГБ (рекомендуется 2 ГБ для стабильной работы при высокой нагрузке).
- Дисковое пространство: от 15–20 ГБ SSD / NVMe.
2. Инструкция по установке на хостинг
- Загрузка файлов: Загрузите содержимое папки проекта на ваш хостинг в корневую директорию сайта (public_html или www/vash-sait.com).
- Создание базы данных: Создайте новую базу данных MySQL, пользователя и назначьте ему полные права на эту базу.
- Запуск инсталлятора: Откройте в браузере адрес вашего сайта: [Для просмотра ссылки Войди
или Зарегистрируйся. - Проверка системы: Инсталлятор проверит параметры сервера на соответствие требованиям.
- Ввод данных: Введите параметры подключения к БД (хост, логин, пароль, название базы данных).
- Завершение: После установки система создаст assets/includes/config.php и заполнит базу данных актуальными таблицами со всеми исправлениями.
3. Отчёт о выполненных работах и оптимизации (Changelog)
Ниже приведен полный перечень задач, решенных и реализованных в кодовой базе проекта:
1. Добавлен новый раздел «Онлайн» (Online Users)
- Кнопка в меню: В левой навигационной панели пользователя создан раздел «Онлайн» (рядом с «Люди рядом», «Встречи», «Самые популярные», «Сообщения», «Взаимодействие»).
- Серверный обработчик: В assets/includes/core.php разработана функция onlineUsers(), которая динамически выбирает реальных пользователей и активных ботов онлайн с учетом фильтров по полу, возрасту, городу и с пагинацией.
- Шаблон страницы: Создан интерфейс themes/default/layout/online/content.phtml для отображения карточек пользователей с кнопками симпатий, лайков и перехода в чат.
- Маршрутизация: Добавлен роутинг в index.php, AJAX-обработчики в requests/user.php (case 'online' / case 'online_filter') и функции быстрого перехода в themes/default/js/lovesua.js.
2. Полный ребрендинг платформы (Bello Dating $\rightarrow$ LovesUa)
- SEO и тексты: Все упоминания названия Bello / Belloo Dating заменены на LovesUa в мета-тегах <title>, <meta description>, Open Graph, текстах страниц, подвале сайта, PWA-манифесте (mobile/manifest.webmanifest) и системных письмах.
- Стили и скрипты:
- Переименованы файлы стилей: themes/default/css/lovesua.css, mobile/css/lovesua.css, mobile/css/lovesua20.css.
- Главный JS-файл переименован в themes/default/js/lovesua.js.
- Создан обработчик requests/lovesua.php.
- База данных: Обновлены записи бренда, слоганы, описания и дефолтные настройки в таблицах config, settings, site_theme, languages.
- Инсталлятор: Обновлен интерфейс install/index.php, проверки install/check.php и дамп структуры install/schema.sql.
3. Исправлена ошибка 403 Forbidden при экспорте пресетов
- Суть проблемы: При попытке скачать JSON-файл конфигурации темы (assets/sources/presets/*.json) сервер возвращал ошибку 403 Forbidden.
- Решение:
- В корневом .htaccess расширение json исключено из списка глобально запрещенных файлов.
- В папке assets/sources/presets/ создан файл правил .htaccess, разрешающий безопасное прямое скачивание JSON-пресетов браузером.
4. Оптимизация базы ботов и жесткий лимит (150 фейковых пользователей)
- Очистка базы: Удалено 3 925 избыточных ботов вместе с зависимыми данными (фото, лайки, визиты, уведомления, диалоги). Оставлена сбалансированная база из ровно 150 активных профилей.
- Жесткий лимит (Hard Cap = 150
В функции generateDemoUsers() (assets/includes/core.php) и в requests/user.php внедрен контроль лимита — новые боты больше не генерируются автоматически без ограничений. - Панель управления: В дашборде администратора зафиксированы лимиты fakeUserLimit = 150 и fakeUserUsage = 150.
- Реальные пользователи: Подтверждено, что живые пользователи регистрируются с флагом fake = 0 и не имеют никаких ограничений на регистрацию.
5. Отключение неработающей рекламы AdSense и очистка консоли браузера
- В таблице config и плагинах adsWeb (реклама на ПК) и adsMobile (мобильная реклама) очищены демонстрационные коды рекламных блоков с тестовым ID ca-pub-6206822267839373.
- В мобильных шаблонах mobile/templates/modals/ad.html и директивах mobile/js/directives.js убраны жестко зашитые обращения к pagead2.googlesyndication.com.
- Полностью устранены ошибки HTTP 400 и предупреждения Tracking Prevention blocked access to storage в консоли разработчика (F12).
6. Очистка отладочных логов в JavaScript
- В файле lovesua.js удалены технические логи console.log(5000), console.log(120000) и console.log('activity detected').
- В модуле историй themes/plugins/story.js заглушено служебное сообщение No story provided..
7. Исправление PHP-ошибки в чате (Warning non-numeric value)
- Суть проблемы: Предупреждение Warning: A non-numeric value encountered in core.php on line 4845 возникало из-за наличия в базе старых диалогов с удаленными пользователями (last_access возвращал строку 'noData').
- Решение:
- В функция getUserFriends() (core.php) и в realtime.php SQL-запрос соединен через INNER JOIN users u, что исключает диалоги с несуществующими аккаунтами.
- Добавлено строгое приведение типов (int)$last_access, (int)$fake, (int)$online_day.
- Очищено 10 устаревших записей в таблице chat.
8. Комплексная оптимизация под Google Lighthouse / PageSpeed
- Серверные правила (.htaccess

- Включено GZIP-сжатие (mod_deflate).
- Настроено кэширование браузера mod_expires (медиа и шрифты — 1 год, стили и JS — 1 месяц).
- Добавлены заголовки безопасности (X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, Referrer-Policy).
- Доступность (Accessibility — 93%

- Добавлен тег <html lang="uk">.
- Обновлен <meta name="viewport"> с поддержкой масштабирования (maximum-scale=5.0).
- Добавлен семантический тег <main id="main-content" role="main"> и атрибуты aria-label для всех полей форм и кнопок.
- Прописаны атрибуты alt, width и height для изображений.
- Скорость (Performance — 97% ПК / 80% Mobile

- Добавлен preconnect и параметр &display=swap для шрифтов Google Fonts.
- Добавлен preload для фонового изображения и логотипа первого экрана (LCP).
- Вторичные CSS-файлы переведены на неблокирующую асинхронную загрузку.
- Убран блокирующий клиентский редирект на смартфонах.
- SEO (100%) и Agentic Browsing (100%

- Установлены <meta charset="UTF-8">, <link rel="canonical">, <meta name="theme-color"> и <meta name="robots">.
4. Результаты аудита Google Lighthouse / PageSpeed
| Показатель / Категория | Версия для ПК (Desktop) | Мобильная версия (Mobile) | Статус |
| Performance (Скорость / Core Web Vitals) | 97% | 80% | Отлично |
| Accessibility (Доступность интерфейса) | 93% | 93% | Отлично |
| SEO (Поисковая оптимизация) | 100% | 100% | Идеально |
| Agentic Browsing (Семантика и структура) | 100% | 100% | Идеально |
| Best Practices (Стандарты веб-разработки) | 70% | 67% | На боевом сервере с HTTPS: 95–100% |
5. Структура проекта
PlaintextCMS/
├── .htaccess # Главные правила Apache (сжатие GZIP, кэш, безопасность, ЧПУ)
├── index.php # Главная точка входа платформы
├── mobile.php # Точка входа мобильной адаптации
├── README.md # Этот документ
├── administrator/ # Панель управления (Админка)
├── assets/
│ ├── includes/
│ │ ├── connect.php # Подключение и системные настройки
│ │ ├── core.php # Главное ядро функций (онлайн, боты, чат, пользователи)
│ │ ├── realtime.php # Обработка событий реального времени
│ │ └── config.php # Файл конфигурации БД (создается инсталлятором)
│ └── sources/
│ ├── presets/ # Пресеты тем и языков (.htaccess с разрешением на скачивание)
│ └── uploads/ # Папка для загрузки фото, видео и медиа
├── install/ # Мастер установки платформы
│ ├── index.php # Пошаговый веб-инсталлятор
│ ├── check.php # Проверка совместимости сервера
│ └── schema.sql # Базовый обновленный дамп структуры БД (чистая установка)
├── mobile/ # Мобильная PWA версия сайта
│ ├── index.php # Шаблон мобильного веб-приложения
│ ├── manifest.webmanifest # Манифест PWA LovesUa
│ ├── css/ # Стили мобильной версии (lovesua.css, lovesua20.css)
│ └── js/ # Контроллеры и директивы AngularJS
├── requests/ # AJAX-обработчики запросов
│ ├── lovesua.php # Главный обработчик AJAX
│ ├── user.php # Обработка пользовательских действий, фильтров и раздела "Онлайн"
│ └── api.php # Внутренний REST API
└── themes/
├── default/ # Основная тема оформления
│ ├── layout/ # Шаблоны страниц (онлайн, меню, чат, контейнер)
│ │ ├── online/ # Шаблон раздела "Онлайн"
│ │ └── container.phtml # Главный контейнер авторизованной зоны
│ ├── css/ # Стили темы (lovesua.css)
│ └── js/ # Скрипты темы (lovesua.js)
└── landing1/ # Главный лендинг неавторизованных пользователей
└── layout/index/ # Шаблон первого экрана и формы регистрации/входа
Для просмотра ссылки Войди или Зарегистрируйся
Думаю обновить Движок для версии PHP 8.1-8.4
Если ноги будут стоять ну или мой труд для халявщиков не будут Хейтить (Сильно).
Послушаю ваши рекомендации что ещё добавить по функционалу.
Кто будет тестить-пишите какие баги заметили, что бы я мог их про-Фиксить.
Думаю общими усилиями и советами, можно и неплохо его Обгрейдить.
Главное что бы писали чего не хватает и что мешает.







