Новые точки входа для хука данных
Добавлено несколько новых точек входа в IP.Board, а также приложения. Вот список добавленных в 3.1.3:
- IP.Board
- topicViewQuery: позволяют получить дополнительные поля из таблицы members, а также сделать JOIN таблицам из базы данных при получении сообщений из базы. Основное назначение точки - получение информации для вывода в шаблоне userInfoPane.
- incrementUsersPostCount: покрывает необходимость изменения данных при увеличении счетчика сообщений пользователя (например: популярные модификации начисления очков).
[*]IP.Calendar
- Добавление события
- Изменения события
[*]IP.Blog
- Добавление записи
- Добавление записи: Запись
- Добавление записи: Данные опроса
- Добавление записи: Данные записи
- Добавление записи: После добавления опроса
- Добавление записи: Обновление запроса
- Добавление комментария
- Изменение комментария
[*]IP.Downloads
- Добавление файла
- Изменение файла
- Обновление данных категории
- Обновление кеша статистики архива
- Добавление комментария
- Изменение комментария
- topicViewQuery: позволяют получить дополнительные поля из таблицы members, а также сделать JOIN таблицам из базы данных при получении сообщений из базы. Основное назначение точки - получение информации для вывода в шаблоне userInfoPane.
Другие приложения, такие как 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 комментариев
Рекомендуемые комментарии
Комментариев для отображения не найдено.