diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2015-06-09 17:08:09 +0200 | 
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2015-06-09 17:10:44 +0200 | 
| commit | 83d8ea013b8d604af080c7281d030c7c7764b357 (patch) | |
| tree | 07c6e25056f3db55e16098c8bfbff6ae1c9bec57 /phpBB/phpbb | |
| parent | 072f4c926072ba4c7a64749e6a2a8118048ed83e (diff) | |
| parent | b8a31241a38630931d1352cb76ce5b7a5bd251c1 (diff) | |
| download | forums-83d8ea013b8d604af080c7281d030c7c7764b357.tar forums-83d8ea013b8d604af080c7281d030c7c7764b357.tar.gz forums-83d8ea013b8d604af080c7281d030c7c7764b357.tar.bz2 forums-83d8ea013b8d604af080c7281d030c7c7764b357.tar.xz forums-83d8ea013b8d604af080c7281d030c7c7764b357.zip  | |
Merge pull request #3481 from brunoais/ticket/13689
[ticket/13689] Allow modifying the query for postgres native fulltext search
Conflicts:
	phpBB/develop/search_fill.php
	phpBB/includes/acp/acp_main.php
	phpBB/includes/acp/acp_search.php
	phpBB/includes/functions_admin.php
	phpBB/includes/functions_posting.php
	phpBB/includes/mcp/mcp_main.php
	phpBB/includes/mcp/mcp_post.php
	phpBB/install/install_convert.php
	phpBB/install/install_install.php
	phpBB/phpbb/search/fulltext_mysql.php
	phpBB/phpbb/search/fulltext_native.php
	phpBB/phpbb/search/fulltext_postgres.php
	phpBB/phpbb/search/fulltext_sphinx.php
	phpBB/search.php
	tests/search/mysql_test.php
	tests/search/native_test.php
	tests/search/postgres_test.php
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/search/fulltext_postgres.php | 49 | 
1 files changed, 49 insertions, 0 deletions
diff --git a/phpBB/phpbb/search/fulltext_postgres.php b/phpBB/phpbb/search/fulltext_postgres.php index 613e310612..91715d9bf2 100644 --- a/phpBB/phpbb/search/fulltext_postgres.php +++ b/phpBB/phpbb/search/fulltext_postgres.php @@ -417,6 +417,55 @@ class fulltext_postgres extends \phpbb\search\base  			break;  		} +		$tsearch_query = $this->tsearch_query; + +		/** +		* Allow changing the query used to search for posts using fulltext_postgres +		* +		* @event core.search_postgres_keywords_main_query_before +		* @var	string	tsearch_query		The parsed keywords used for this search +		* @var	int		result_count		The previous result count for the format of the query. +		*									Set to 0 to force a re-count +		* @var	bool	join_topic			Weather or not TOPICS_TABLE should be CROSS JOIN'ED +		* @var	array	author_ary			Array of user_id containing the users to filter the results to +		* @var	string	author_name			An extra username to search on (!empty(author_ary) must be true, to be relevant) +		* @var	array	ex_fid_ary			Which forums not to search on +		* @var	int		topic_id			Limit the search to this topic_id only +		* @var	string	sql_sort_table		Extra tables to include in the SQL query. +		*									Used in conjunction with sql_sort_join +		* @var	string	sql_sort_join		SQL conditions to join all the tables used together. +		*									Used in conjunction with sql_sort_table +		* @var	int		sort_days			Time, in days, of the oldest possible post to list +		* @var	string	sql_match			Which columns to do the search on. +		* @var	string	sql_match_where		Extra conditions to use to properly filter the matching process +		* @var	string	sort_by_sql			The possible predefined sort types +		* @var	string	sort_key			The sort type used from the possible sort types +		* @var	string	sort_dir			"a" for ASC or "d" dor DESC for the sort order used +		* @var	string	sql_sort			The result SQL when processing sort_by_sql + sort_key + sort_dir +		* @var	int		start				How many posts to skip in the search results (used for pagination) +		* @since 3.1.5-RC1 +		*/ +		$vars = array( +			'tsearch_query', +			'result_count', +			'join_topic', +			'author_ary', +			'author_name', +			'ex_fid_ary', +			'topic_id', +			'sql_sort_table', +			'sql_sort_join', +			'sort_days', +			'sql_match', +			'sql_match_where', +			'sort_by_sql', +			'sort_key', +			'sort_dir', +			'sql_sort', +			'start', +		); +		extract($this->phpbb_dispatcher->trigger_event('core.search_postgres_keywords_main_query_before', compact($vars))); +  		$sql_select			= ($type == 'posts') ? 'p.post_id' : 'DISTINCT t.topic_id';  		$sql_from			= ($join_topic) ? TOPICS_TABLE . ' t, ' : '';  		$field				= ($type == 'posts') ? 'post_id' : 'topic_id';  | 
