Skip to main content
Guard Forum использует стандартный REST API XenForo и несколько дополнений. Они добавляют маршруты и меняют отдельные поля или параметры существующих методов.

Повышение и снятие

Методы promote/{user_id}/ и demote/{user_id}/ работают с дополнительными группами пользователя. GET возвращает группы, доступные инициатору для соответствующего действия; POST изменяет назначение. Нужен scope user:promote и разрешения инициатора, предусмотренные дополнением. Наличие scope не заменяет эти проверки. Основная группа и полный административный редактор профиля — отдельные механизмы.
Для снятия указывайте конкретную группу в параметре group. В установленной версии отсутствие корректной группы не означает «снять все группы».

Несколько префиксов темы

MultiPrefix расширяет создание и редактирование тем: Дополнение убирает нулевые и недоступные префиксы и проверяет ограничения количества, заданные для раздела. Не используйте скалярный prefix_id как универсальную замену массива в интеграции с этой установкой. Условный фрагмент формы:
ID в примере иллюстративные. Доступные префиксы и возможность их применения зависят от раздела и пользователя.

Дополнительные поля User

Совместимость user_title

В установленной версии Promote при непустом пользовательском звании поле user_title может содержать boolean true вместо текста. В остальных случаях возвращается строка стандартного звания. Поэтому обрабатывайте тип string или true и не передавайте значение напрямую в строковые операции.
Это известное отличие текущей установки. Поле custom_title, когда оно доступно по правам, имеет отдельные правила видимости; не рассчитывайте на его наличие в каждом объекте User.

Совместимость интеграций

Проверяйте наличие условных полей и используйте can_*, когда они предоставлены объектом. Списки, фильтры и права описаны у конкретного метода. Данные из более новых версий XenForo или других дополнений нельзя автоматически считать частью Guard Forum API.

Все методы

Операции стандартного API и дополнений.

Схемы данных

Формат User, Thread и других объектов.