✦ Управление статусами тем • Модераторские действия • Наглядные индикаторы • XenForo 2.3 ✦
Разработчик: Shum1kh1n
Платформа: XenForo 2.3.0+
Проверенная совместимость: XenForo 2.3.6, 2.3.9 и 2.3.13
Тип: Дополнение (Add-on)
Формат: Установочный ZIP
Add-on ID: Shum1kh1n/ThreadStatusTools
[Shum1kh1n / Helgring] Thread Status Tools — дополнение для XenForo 2.3, которое позволяет уполномоченным на встроенную модерацию пользователям быстро назначать темам статусы проверки. Вместо неочевидных пометок в названии темы или ручного редактирования сообщений результат проверки отображается отдельным индикатором непосредственно на странице обсуждения.
Дополнение добавляет панель действий для изменения статуса и отдельный информационный блок рядом с пагинацией. Посетители, имеющие доступ к теме, видят её текущее состояние, а пользователи с необходимыми правами могут изменить его с помощью соответствующей кнопки. Основной текст темы и сообщений при этом не переписывается.
Предусмотрены четыре именованных состояния и отдельное действие сброса. Каждому состоянию соответствует собственная подпись и визуальное оформление.
- ✔ Проверено — статус
checked; участникам отображается «Проверено модератором». Подходит для тем, прошедших проверку. - △ Доработать — статус
needswork; отображается «Требует доработки». Помогает обозначить необходимость исправлений или дополнений. - ≈ Сомнительно — статус
doubtful; отображается «Сомнительно». Позволяет визуально отметить тему, содержание которой требует дополнительной оценки. - ✖ Отклонить — статус
rejected; отображается «Отклонено». Обозначает отрицательный результат проверки. - Сброс — очищает значение; снова отображается «Не проверено модератором».
Установка статуса выполняется отдельно для конкретной темы. Дополнение не добавляет массового изменения статусов, собственных очередей проверки или автоматического определения качества содержимого.
Кнопки изменения статуса выводятся только при наличии у пользователя права встроенной модерации соответствующей темы, которое XenForo проверяет методом
canUseInlineModeration(). Такое же условие проверяется непосредственно в PHP-обработчике POST-запроса: скрытия кнопок в интерфейсе недостаточно для получения доступа к операции.Пользователь, который может лишь редактировать собственную тему, больше не получает право назначать модераторский статус только на этом основании. Перед сохранением обработчик дополнительно сверяет переданное значение с разрешённым перечнем статусов. Дополнение использует существующую систему прав XenForo и не создаёт отдельного собственного разрешения в ACP.
- Панель быстрых действий — пять кнопок для установки или сброса статуса, размещённых в правой области панели темы.
- Индикатор состояния — отдельная текстовая метка слева, рядом с пагинацией, доступная при просмотре темы.
- Различимые состояния — собственное оформление для «Проверено», «Доработать», «Сомнительно», «Отклонено» и отсутствия проверки.
- Адаптивное оформление — LESS-правила для размеров кнопок, отступов, расположения блоков и экранов разной ширины.
- Интеграция в XenForo — штатные публичные шаблоны и модификации шаблонов без отдельной страницы управления статусами.
hgts_thread_status.less; при установке регистрируются три шаблонные модификации, затрагивающие PAGE_CONTAINER и thread_view.Статус сохраняется в штатном пользовательском поле темы с идентификатором
topic_status. Обработчик расширяет публичный контроллер темы XenForo и использует сервис редактирования темы XF\Editor для записи выбранного значения.Отображение выполняется средствами шаблонов XenForo. В версии 1.1.1 подписи кнопок и индикаторов вынесены в десять системных фраз, поэтому их текст можно переводить или изменять через языковую систему, не переписывая PHP-код.
Дополнение не создаёт собственные таблицы базы данных, не добавляет фоновые задачи и не использует отдельные JavaScript-файлы. Сохранение статуса происходит после действия пользователя, а не автоматически.
Важно: пользовательское поле
topic_status является обязательной предварительной настройкой. Оно не создаётся автоматически при установке дополнения.- Убедитесь, что ваша установка работает на XenForo 2.3.0 или новее.
- Откройте в панели администратора раздел Форумы → Пользовательские поля тем.
- Проверьте наличие поля с точным идентификатором
topic_statusлибо предварительно создайте его. - Настройте поддерживаемые значения:
checked,needswork,doubtful,rejected; предусмотрите возможность отсутствия выбранного статуса. - Проверьте применимость поля к нужным разделам форума и разрешения на просмотр соответствующих тем.
- После установки дополнения проверьте изменение всех четырёх статусов и сброс.
Версия 1.1.1 проверена владельцем на XenForo 2.3.6, 2.3.9 и 2.3.13. Также проверен переход с версии 1.1.0 на 1.1.1 с сохранением уже присвоенных темам статусов.
Это результаты испытаний в конкретных установках, а не гарантия отсутствия конфликтов с любыми сторонними стилями и дополнениями. Если стиль значительно изменяет шаблон
thread_view, после установки следует убедиться, что обе части интерфейса отображаются правильно.- Скачайте установочный архив Thread Status Tools 1.1.1 Stable. Complete-архив с документацией не является установочным пакетом.
- Проверьте предварительную настройку поля
topic_status. - Установите ZIP доступным в вашей установке штатным способом XenForo или перенесите содержимое каталога
uploadв корень XenForo и выполните установку дополнения через панель администратора. - Убедитесь, что зарегистрировано дополнение с идентификатором
Shum1kh1n/ThreadStatusTools. - Откройте тему и проверьте отображение индикатора, работу пяти действий и ограничения прав доступа.
В версии 1.1.0 использовался Add-on ID
Helgring/ThreadStatusTools, а в версии 1.1.1 — Shum1kh1n/ThreadStatusTools. Для XenForo это разные идентификаторы: устанавливать 1.1.1 поверх 1.1.0 как обычное обновление нельзя. Кроме того, новая сборка проверяет наличие прежней регистрации, чтобы предотвратить одновременную установку.Перед миграцией обязательно создайте полную резервную копию файлов и базы данных, убедитесь в независимом существовании поля
topic_status и проверьте процедуру на копии форума. Затем удалите старую регистрацию по инструкции, проверьте сохранность пользовательского поля и прежних значений и только после этого установите новый Add-on ID.Сценарий перехода с сохранением статусов уже был успешно проверен владельцем, но перед использованием на другом форуме следует повторить проверку на его копии. Подробная инструкция миграции и отката включена в Complete-архив.
- Новая авторская структура — изменены Add-on ID, путь PHP и namespace на
Shum1kh1n/ThreadStatusTools. - Корректировка модераторского доступа — убрана возможность менять статус только по праву редактирования собственной темы; проверка выполняется в интерфейсе и контроллере.
- Переводимые подписи — добавлены десять системных фраз для действий и индикаторов.
- Защита установки — добавлена проверка на присутствие прежнего Add-on ID.
- Единый фирменный стиль — внутренняя иконка заменена универсальным знаком H проекта Shum1kh1n / Helgring.
- Релизная упаковка — обновлён
hashes.jsonи проверена целостность установочного ZIP. - Сохранена привычная работа — существующие значения статусов, LESS-оформление и три шаблонные модификации не переработаны.
Разработчик: https://forum.helgring.ru/members/1/']Shum1kh1n[/URL]
Форум и поддержка: https://forum.helgring.ru/']Helgring Forum[/URL]
Telegram-канал: https://t.me/Shum1kh1nChannel']Shum1kh1n Channel[/URL]
© Shum1kh1n / Helgring