Посмотрел, не знаю честно говоря, на мой взгляд в примере просто и понятно, туда передаются три массива для
SetGroupBy, SetSortMode, SetFieldWeights
и остальные переменные
$sort_key, $type, $fields
и т.д., как в
fulltext_mysql, fulltext_native, fulltext_postgres, если возвращается не пустой массив то, уже непосредственно в
fulltext_sphinx через соответствующие функции в сфинкс передаются параметры, так и логика сохраняется, всё меняется простым изменением переменных, а не созданием экземпляров и пр.
Отправлено спустя 39 минут 32 секунды:
Ещё пара событий:
1. В файле
/download/file.php нет вообще никаких событий и соответственно возможностей что-то менять при скачивании файлов, перед:
добавить
Код: Выделить всё
$vars = array('display_cat', 'mode', 'attachment', 'attach_id', 'thumbnail', 'extension', 'download_mode');
extract($phpbb_dispatcher->trigger_event('core.download_before_send_file', compact($vars)));
2. В файле
/includes/mcp/mcp_topic.php в функции
mcp_topic_view
есть событие
mcp_topic_review_modify_row
которое в цикле позволяет менять определённые переменные, нужно событие до этого цикла, т.е. как в
viewtopic.php
, туда передаётся массив с id постов, вложения и т.д., перед:
добавить
Код: Выделить всё
$vars = array('rowset', 'post_id_list', 'attachments');
extract($phpbb_dispatcher->trigger_event('core.mcp_topic_review_after_query', compact($vars)));