Сбор статистики XenForo • Анализ активности • Автоматическое формирование отчётов
Автор: Shum1kh1n
Платформа: XenForo 2.3.x / PHP
Helgring Forum Stats Report Builder — мой собственный служебный PHP-инструмент для XenForo, предназначенный для сбора статистики форума за выбранный период, анализа активности и автоматической подготовки готовых отчётов для публикации.
Изначально инструмент создавался для одной конкретной задачи — упростить подготовку ежемесячной статистики активности Forum.Helgring.Ru.
Со временем обычный сборщик данных превратился в полноценный рабочий комплекс, объединяющий несколько этапов:
Это не классический XenForo Add-on, устанавливаемый через ACP одним нажатием, а самостоятельная PHP-страница, интегрированная с установленным форумом.
Можно вручную выбрать:
- Дату начала периода;
- Дату окончания периода.
Например, если указано:
01.08.2026 — 31.08.2026
Это позволяет избежать ошибок, когда события, созданные в последние часы конечной даты, случайно не учитываются.
Инструмент также учитывает часовой пояс текущего пользователя XenForo.
Приоритет определения часового пояса:
- Часовой пояс текущего XenForo-пользователя;
- Гостевой часовой пояс форума;
- UTC как резервный вариант.
Для часто используемых диапазонов предусмотрены готовые варианты:
- Текущий месяц;
- Прошлый месяц;
- Последние 30 дней;
- Полный выбранный календарный месяц.
За выбранный период рассчитываются:
- Количество созданных тем;
- Количество опубликованных сообщений;
- Общее количество новых единиц контента;
- Новые регистрации;
- Активные пользователи;
- Количество загруженных вложений;
- Суммарный размер вложений;
- Общее количество реакций;
- Среднее количество сообщений в день;
- Просмотры тем.
Общая статистика реакций дополнительно разбивается по типу содержимого:
- Реакции на сообщения форума;
- Реакции в личных переписках;
- Реакции на обновления ресурсов;
- Реакции на новости.
При наличии XenForo Resource Manager инструмент дополнительно отображает:
- Количество опубликованных ресурсов;
- Количество скачиваний;
- Просмотры ресурсов.
При наличии используемого на форуме модуля новостей собираются:
- Количество опубликованных новостей;
- Количество комментариев;
- Просмотры новостей;
- Количество новостей, для которых были созданы темы обсуждения.
При наличии XenAddons Article Management System рассчитываются:
- Опубликованные статьи;
- Комментарии к статьям;
- Темы обсуждения статей.
Инструмент автоматически определяет наиболее заметные показатели периода.
В отдельном блоке отображаются:
- Самый активный пользователь — по количеству сообщений за выбранный период;
- Самая обсуждаемая тема;
- Самая просматриваемая тема;
- Самая заметная новость;
- Статья периода;
- Новый участник периода.
Дополнительно формируются отдельные рейтинги:
- TOP-5 пользователей по количеству опубликованных сообщений;
- TOP-5 самых обсуждаемых тем;
- TOP-5 самых просматриваемых тем;
- TOP-5 новостей.
Одна из основных частей проекта — встроенный Helgring Report Builder.
После получения статистики выбранного периода можно нажать:
После этого открывается отдельный конструктор готового отчёта.
Report Builder автоматически подготавливает:
- Название темы;
- Диапазон дат;
- Все показатели статистики;
- Данные лидеров;
- TOP-списки;
- Ссылки на темы, новости и статьи;
- Автоматический комментарий администрации;
- Полный BBCode будущей темы.
Инструмент способен самостоятельно сформировать текстовый комментарий по итогам периода.
При генерации учитываются реальные показатели статистики.
Автоматический текст можно:
- Оставить без изменений;
- Отредактировать вручную;
- Вернуть к автоматически сформированному варианту;
- Применить изменения непосредственно к BBCode.
В Report Builder предусмотрен отдельный блок проверки данных.
Перед публикацией можно дополнительно проверить подготовленный отчёт и убедиться, что необходимые элементы были сформированы корректно.
Также доступен предпросмотр будущей темы.
Это позволяет увидеть приблизительный результат ещё до фактической публикации на форуме.
После формирования отчёта доступны действия:
- Скопировать название темы;
- Скопировать готовый BBCode;
- Скопировать весь комплект публикации;
- Скачать BBCode в TXT-файл;
- Сохранить отчёт во внутреннюю историю браузера;
- Перейти непосредственно к созданию темы в заранее настроенном разделе XenForo.
Report Builder имеет локальную историю последних подготовленных отчётов.
История хранится в браузере и позволяет вернуться к ранее сформированным данным без необходимости каждый раз начинать работу с нуля.
При необходимости историю можно очистить.
Инструмент поддерживает три формата экспорта.
JSON
TXT
BBCode
Файлы формируются непосредственно из выбранного диапазона статистики.
Сохранённую ранее статистику можно снова загрузить обратно в инструмент.
Поддерживаются:
- JSON;
- TXT.
Таким образом, можно сохранить статистику сейчас, а полноценную публикацию подготовить позднее.
Ограничения загрузки:
- Поддерживаются только JSON и TXT;
- Максимальный размер файла — 2 МБ;
- JSON проходит проверку структуры перед использованием.
У инструмента есть собственные настройки интерфейса.
Можно выбрать:
Шрифт интерфейса:
- Системный;
- Georgia;
- Arial;
- Verdana;
- Tahoma;
- Trebuchet MS;
- Times New Roman.
Отдельно настраивается оформление готового BBCode-отчёта:
- Шрифт отчёта;
- Размер основного текста;
- Размер заголовков разделов;
- Размер главного заголовка.
Настройки сохраняются локально в текущем браузере.
Инструмент не полагается только на скрытие ссылки в навигации XenForo.
Доступ дополнительно проверяется на серверной стороне.
Разрешённые XenForo user ID задаются отдельно в конфигурации.
Если пользователь не входит в список разрешённых:
- Возвращается HTTP 403;
- Отображается отдельная страница «Доступ ограничен»;
- Знание прямого URL не предоставляет доступ к инструменту.
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: frame-ancestors 'self'
Для меня было важно, чтобы статистика форума оставалась полной, но при этом отчёт не раскрывал содержимое закрытых разделов.
Можно указать корневые приватные node ID.
Дочерние узлы таких разделов определяются автоматически.
Темы из приватных разделов продолжают участвовать в общей статистике и рейтингах, однако при выводе выполняется маскирование.
Для приватной темы:
- Исходное название заменяется на «Приватный раздел»;
- Исходный thread ID удаляется из экспортируемых данных;
- Node ID не передаётся в подготовленный публичный результат;
- Прямая ссылка на закрытую тему не формируется.
Некоторые счётчики XenForo и дополнительных компонентов являются накопительными.
Например, view_count и download_count хранят текущее суммарное значение объекта.
Поэтому для тем и ресурсов, созданных внутри выбранного периода, инструмент показывает их текущее накопленное количество просмотров/скачиваний.
Это не всегда означает количество новых просмотров или загрузок, произошедших исключительно внутри выбранного диапазона дат.
Эту особенность необходимо учитывать при интерпретации статистики.
Текущая версия рассчитана на размещение файла по пути:
<XENFORO_ROOT>/custom_pages/system/Название скрыто.php
src/XF.php
После копирования файла необходимо настроить параметры конкретной установки XenForo.
Перед использованием необходимо проверить:
- XenForo user ID пользователей, которым разрешён доступ;
- ID форума, куда Report Builder должен отправлять пользователя для создания темы;
- Корневые node ID приватных разделов;
- Начальную дату статистики по умолчанию;
- При необходимости — запросы к таблицам сторонних дополнений.
Текущая версия умеет использовать данные:
- XenForo Resource Manager;
- XenCustomize News Publisher;
- XenAddons Article Management System.
Helgring_Forum_Stats_Report_Builder_v1.0.0/
│
├─ Helgring_Forum_Stats_Report_Builder.php
├─ README_RU.md
├─ CHANGELOG.md
├─ VERSION.txt
├─ ABOUT_HELGRING.txt
│
├─ docs/
│ ├─ INSTALLATION.md
│ ├─ CONFIGURATION.md
│ └─ PRIVACY.md
│
└─ screenshots/
Ниже будут размещены реальные скриншоты текущей версии:
Первый оформленный релиз включает:
- Сбор статистики XenForo за произвольный период;
- Включительную дату окончания;
- Корректные границы периода с учётом часового пояса;
- Быстрые периоды;
- Темы, сообщения, пользователей, вложения и реакции;
- Resource Manager;
- Новости;
- Статьи;
- Лидеров периода;
- TOP-списки;
- Helgring Report Builder;
- Автоматическую генерацию BBCode;
- Автоматический комментарий администрации;
- Экспорт JSON / TXT / BBCode;
- Повторную загрузку архивных отчётов;
- Маскирование приватных разделов;
- Серверное ограничение доступа;
- Настройки оформления интерфейса и отчёта.
Форум:
Telegram:
Shum1kh1n Channel
© Shum1kh1n / Helgring