Skip to main content

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