1
0
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:
Marc Alexander 2018-02-20 20:00:23 +01:00
commit eecff95ce1
No known key found for this signature in database
GPG Key ID: 50E0D2423696F995
4 changed files with 110 additions and 0 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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)));