Перейти к контенту
  • записи
    33
  • комментариев
    10
  • просмотра
    170 294

IP.Board 3.1.3: Улучшения и изменения в системе хуков


News Bot

1 672 просмотра

Новые точки входа для хука данных

Добавлено несколько новых точек входа в IP.Board, а также приложения. Вот список добавленных в 3.1.3:

  • IP.Board
    • topicViewQuery: позволяют получить дополнительные поля из таблицы members, а также сделать JOIN таблицам из базы данных при получении сообщений из базы. Основное назначение точки - получение информации для вывода в шаблоне userInfoPane.
    • incrementUsersPostCount: покрывает необходимость изменения данных при увеличении счетчика сообщений пользователя (например: популярные модификации начисления очков).

    [*]IP.Calendar

    • Добавление события
    • Изменения события

    [*]IP.Blog

    • Добавление записи
    • Добавление записи: Запись
    • Добавление записи: Данные опроса
    • Добавление записи: Данные записи
    • Добавление записи: После добавления опроса
    • Добавление записи: Обновление запроса
    • Добавление комментария
    • Изменение комментария

    [*]IP.Downloads

    • Добавление файла
    • Изменение файла
    • Обновление данных категории
    • Обновление кеша статистики архива
    • Добавление комментария
    • Изменение комментария

 

Другие приложения, такие как IP.Gallery, также увидят новые точки входа для хука данных.

 

Поддержка хука библиотек

 

В IP.Board 3.1.0 был добавлен новый тип хуков - Хук библиотек. Данный тип хуков, позволяет переопределять существующие библиотеки, а также добавлять в них любую функциональность. Это очень мощный инструмент, пришедший на помощь разработчикам. Первоначально область работы данного типа хуков была ограничена, часть классов попадала под его действие, часть нет. В IP.Board 3.1.3 мы постарались максимально расширить эту область. А так же все наши приложения теперь поддерживают данный тип хука.

 

Хотя в IP.Board 3.1.3 хук поддерживает существенно больше классов библиотек, однако, мы продолжим работу над его улучшением и в версии IP.Board 3.2 хотим прийти к показателю 100% покрытия системы.

 

Новая функция IPSLib::loadActionOverloader()

 

Хуки перезагрузки действий, как правило, выполняются автоматически, но это правило выполняется только при запуске напрямую, если же класс подключается и действие из него выполняется из другого класса (т.е. вручную), то хуки не работают. Пример подключения:

 

require_once( IPSLib::getAppDir('core') . '/modules_admin/languages/manage_languages.php' );
$langLib = new admin_core_languages_manage_languages( $this->registry );

 

Для решения этой проблемы, мы добавили новую функцию в IPSLib, которая работает аналогично IPSLib::loadLibrary(). Функция принимает только два праметра: первый - путь до самого файла, второй класс, который вы загружаете. Пример:

 

$classToLoad = IPSLib::loadActionOverloader( IPSLib::getAppDir('core') . '/modules_admin/languages/manage_languages.php', 'admin_core_languages_manage_languages' );
$langLib    = new $classToLoad( $this->registry );

 

Прекращение поддержки плагина usercpFormsExt

Данный плагин был введен в IP.Board 3.0 и предназначался для расширения панели управления пользователя. Однако с введением хука библиотек данный плагин перестал быть необходимым.

 

Надеемся, что эти небольшие изменения помогут эффективнее расширять возможности IP.Board.

0 комментариев


Рекомендуемые комментарии

Комментариев для отображения не найдено.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.