mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-19 07:00:14 +01:00
Merge pull request #5116 from kasimi/ticket/15537
[ticket/15537] Add core.search_(native|mysql|postgres|sphinx)_index_before
This commit is contained in:
commit
eecff95ce1
@ -918,6 +918,34 @@ class fulltext_mysql extends \phpbb\search\base
|
||||
|
||||
$words = array_unique(array_merge($split_text, $split_title));
|
||||
|
||||
/**
|
||||
* Event to modify method arguments and words before the MySQL search index is updated
|
||||
*
|
||||
* @event core.search_mysql_index_before
|
||||
* @var string mode Contains the post mode: edit, post, reply, quote
|
||||
* @var int post_id The id of the post which is modified/created
|
||||
* @var string message New or updated post content
|
||||
* @var string subject New or updated post subject
|
||||
* @var int poster_id Post author's user id
|
||||
* @var int forum_id The id of the forum in which the post is located
|
||||
* @var array words List of words added to the index
|
||||
* @var array split_text Array of words from the message
|
||||
* @var array split_title Array of words from the title
|
||||
* @since 3.2.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'mode',
|
||||
'post_id',
|
||||
'message',
|
||||
'subject',
|
||||
'poster_id',
|
||||
'forum_id',
|
||||
'words',
|
||||
'split_text',
|
||||
'split_title',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.search_mysql_index_before', compact($vars)));
|
||||
|
||||
unset($split_text);
|
||||
unset($split_title);
|
||||
|
||||
|
@ -1433,6 +1433,38 @@ class fulltext_native extends \phpbb\search\base
|
||||
$words['del']['post'] = array();
|
||||
$words['del']['title'] = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Event to modify method arguments and words before the native search index is updated
|
||||
*
|
||||
* @event core.search_native_index_before
|
||||
* @var string mode Contains the post mode: edit, post, reply, quote
|
||||
* @var int post_id The id of the post which is modified/created
|
||||
* @var string message New or updated post content
|
||||
* @var string subject New or updated post subject
|
||||
* @var int poster_id Post author's user id
|
||||
* @var int forum_id The id of the forum in which the post is located
|
||||
* @var array words Grouped lists of words added to or remove from the index
|
||||
* @var array split_text Array of words from the message
|
||||
* @var array split_title Array of words from the title
|
||||
* @var array cur_words Array of words currently in the index for comparing to new words
|
||||
* when mode is edit. Empty for other modes.
|
||||
* @since 3.2.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'mode',
|
||||
'post_id',
|
||||
'message',
|
||||
'subject',
|
||||
'poster_id',
|
||||
'forum_id',
|
||||
'words',
|
||||
'split_text',
|
||||
'split_title',
|
||||
'cur_words',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.search_native_index_before', compact($vars)));
|
||||
|
||||
unset($split_text);
|
||||
unset($split_title);
|
||||
|
||||
|
@ -889,6 +889,34 @@ class fulltext_postgres extends \phpbb\search\base
|
||||
|
||||
$words = array_unique(array_merge($split_text, $split_title));
|
||||
|
||||
/**
|
||||
* Event to modify method arguments and words before the PostgreSQL search index is updated
|
||||
*
|
||||
* @event core.search_postgres_index_before
|
||||
* @var string mode Contains the post mode: edit, post, reply, quote
|
||||
* @var int post_id The id of the post which is modified/created
|
||||
* @var string message New or updated post content
|
||||
* @var string subject New or updated post subject
|
||||
* @var int poster_id Post author's user id
|
||||
* @var int forum_id The id of the forum in which the post is located
|
||||
* @var array words Array of words added to the index
|
||||
* @var array split_text Array of words from the message
|
||||
* @var array split_title Array of words from the title
|
||||
* @since 3.2.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'mode',
|
||||
'post_id',
|
||||
'message',
|
||||
'subject',
|
||||
'poster_id',
|
||||
'forum_id',
|
||||
'words',
|
||||
'split_text',
|
||||
'split_title',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.search_postgres_index_before', compact($vars)));
|
||||
|
||||
unset($split_text);
|
||||
unset($split_title);
|
||||
|
||||
|
@ -758,6 +758,28 @@ class fulltext_sphinx
|
||||
*/
|
||||
public function index($mode, $post_id, &$message, &$subject, $poster_id, $forum_id)
|
||||
{
|
||||
/**
|
||||
* Event to modify method arguments before the Sphinx search index is updated
|
||||
*
|
||||
* @event core.search_sphinx_index_before
|
||||
* @var string mode Contains the post mode: edit, post, reply, quote
|
||||
* @var int post_id The id of the post which is modified/created
|
||||
* @var string message New or updated post content
|
||||
* @var string subject New or updated post subject
|
||||
* @var int poster_id Post author's user id
|
||||
* @var int forum_id The id of the forum in which the post is located
|
||||
* @since 3.2.3-RC1
|
||||
*/
|
||||
$vars = array(
|
||||
'mode',
|
||||
'post_id',
|
||||
'message',
|
||||
'subject',
|
||||
'poster_id',
|
||||
'forum_id',
|
||||
);
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.search_sphinx_index_before', compact($vars)));
|
||||
|
||||
if ($mode == 'edit')
|
||||
{
|
||||
$this->sphinx->UpdateAttributes($this->indexes, array('forum_id', 'poster_id'), array((int) $post_id => array((int) $forum_id, (int) $poster_id)));
|
||||
|
Loading…
x
Reference in New Issue
Block a user