diff options
| author | kasimi <mail@kasimi.net> | 2018-02-16 21:31:36 +0100 |
|---|---|---|
| committer | kasimi <mail@kasimi.net> | 2018-02-16 21:40:18 +0100 |
| commit | a6dc32b381dea235c979d089fc7897dd7e213011 (patch) | |
| tree | f44fdf473695ab40257640f18b75ed07adf4bc97 /phpBB/phpbb/search/fulltext_native.php | |
| parent | adc75b700f0cf3d6d47689c00932fd1f41bc58e9 (diff) | |
| download | forums-a6dc32b381dea235c979d089fc7897dd7e213011.tar forums-a6dc32b381dea235c979d089fc7897dd7e213011.tar.gz forums-a6dc32b381dea235c979d089fc7897dd7e213011.tar.bz2 forums-a6dc32b381dea235c979d089fc7897dd7e213011.tar.xz forums-a6dc32b381dea235c979d089fc7897dd7e213011.zip | |
[ticket/15561] Add events for adding columns to search index
PHPBB3-15561
Diffstat (limited to 'phpBB/phpbb/search/fulltext_native.php')
| -rw-r--r-- | phpBB/phpbb/search/fulltext_native.php | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/phpBB/phpbb/search/fulltext_native.php b/phpBB/phpbb/search/fulltext_native.php index bd222488a0..3d97896be6 100644 --- a/phpBB/phpbb/search/fulltext_native.php +++ b/phpBB/phpbb/search/fulltext_native.php @@ -1664,20 +1664,43 @@ class fulltext_native extends \phpbb\search\base */ public function delete_index($acp_module, $u_action) { + $sql_queries = []; + switch ($this->db->get_sql_layer()) { case 'sqlite3': - $this->db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE); - $this->db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE); - $this->db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE); + $sql_queries[] = 'DELETE FROM ' . SEARCH_WORDLIST_TABLE; + $sql_queries[] = 'DELETE FROM ' . SEARCH_WORDMATCH_TABLE; + $sql_queries[] = 'DELETE FROM ' . SEARCH_RESULTS_TABLE; break; default: - $this->db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE); - $this->db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE); - $this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE); + $sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE; + $sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE; + $sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE; break; } + + $stats = $this->stats; + + /** + * Event to modify SQL queries before the native search index is deleted + * + * @event core.search_native_delete_index_before + * @var array sql_queries Array with queries for deleting the search index + * @var array stats Array with statistics of the current index (read only) + * @since 3.2.3-RC1 + */ + $vars = array( + 'sql_queries', + 'stats', + ); + extract($this->phpbb_dispatcher->trigger_event('core.search_native_delete_index_before', compact($vars))); + + foreach ($sql_queries as $sql_query) + { + $this->db->sql_query($sql_query); + } } /** |
