Mybb — проект дополнений
1 Стили
Эти изменения планируются, в первую очередь, для форумов, использующие свой стиль
1.1 Настройки
- Использовать свой стиль: да/нет
- Использовать стандартный extra.css: да/нет
- Добавлять поле настроек API яак выбор темы: короткое поле ввода, настройка отключается, если поле пустое
2 PHP-хуки
Используются для отправки сообщений внешним сервисам о том, что на форуме произошли изменения.
2.1 Манифест
JSON на внешнем сервисе, сообщающий о создателе, его контактах, теме для техподдержки и том, какие изменения проверяются внешним сервисом.
Структура:
- name — строка, отображаемое в админке название
- description — строка, описание хука
- link — строка, ссылка на полное описание
- version — строка, информация о версии
- author — строка, имя создателя
- reciever — строка, полный URL скрипта на внешнем сервисе, который будет обрабатывать входящие хуки
- hooks — массив строк, содержащий список всех
2.2 Работа хука
Хуки бывают 2 видов: перед событием (before) и после него (after). Скорее всего, я пока не планирую хуки перед событием, так как они нужны, что бы заранее изменить входящие данные, и я не вижу, как и зачем это нужно: это можно делать через JS перед отправкой формы
Хук совершает curl-запрос по адресу, указанном в манифесте в поле reciever. Данные передаются методом POST, таймаут запроса 10 секунд.
Данные всегда имеют структуру:
- forum_id — число, id форума, посылающего хук
- event — строка, событие, из-за которого создан хук
- data — объект, данные о конкретном хуке
2.3 Хуки
2.3.1 Создание хука (hook.register)
Создаётся после того, как хук был зарегистрирован или обновлён в системе
Данные хука:
- url — строка, URL форума (основной домен)
- title — строка, Название форума
2.3.2 Регистрация пользователя (user.create)
После регистрации пользователя
- user_id — число, id нового пользователя
2.3.3 Изменение пользователя (user.edit)
После изменения профиля пользователя
- user_id — число, id изменённого пользователя
2.3.4 Создание сообщения (message.post)
После создания нового сообщения
- post_id — число, id нового сообщения
- topic_id
- forum_id
2.3.5 Редактирование сообщения (message.edit)
После изменения сообщения (втч перемещения)
- post_id — число, id изменённого сообщения
- topic_id
- forum_id
2.3.4 Удаление сообщения (message.delete)
После создания нового сообщения
- post_id
2.3.4 Оценка сообщения (message.rate)
После создания нового сообщения
- post_id — число, id нового сообщения
- author_id
- sender_id