diff options
| author | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-10-12 13:38:42 +0200 |
|---|---|---|
| committer | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-10-12 13:38:42 +0200 |
| commit | 1164cc38a243fb2c5b41cc8882956890ff2eecd2 (patch) | |
| tree | 7e9fdbe1c5975b640b7d9907e6e9c462a29d2b53 /phpBB/phpbb/search/fulltext_sphinx.php | |
| parent | e87209742bf5ea2878a51388df9b9bd4c9e04111 (diff) | |
| parent | d75750fd9998082945cda6915f436a16a680b546 (diff) | |
| download | forums-1164cc38a243fb2c5b41cc8882956890ff2eecd2.tar forums-1164cc38a243fb2c5b41cc8882956890ff2eecd2.tar.gz forums-1164cc38a243fb2c5b41cc8882956890ff2eecd2.tar.bz2 forums-1164cc38a243fb2c5b41cc8882956890ff2eecd2.tar.xz forums-1164cc38a243fb2c5b41cc8882956890ff2eecd2.zip | |
Merge pull request #3830 from rxu/ticket/14098
[ticket/14098] Add core events to the search backends
* rxu/ticket/14098:
[ticket/14098] Add core events to the search backends
Diffstat (limited to 'phpBB/phpbb/search/fulltext_sphinx.php')
| -rw-r--r-- | phpBB/phpbb/search/fulltext_sphinx.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/phpBB/phpbb/search/fulltext_sphinx.php b/phpBB/phpbb/search/fulltext_sphinx.php index cd7add72f0..612ef8f1f3 100644 --- a/phpBB/phpbb/search/fulltext_sphinx.php +++ b/phpBB/phpbb/search/fulltext_sphinx.php @@ -358,6 +358,23 @@ class fulltext_sphinx $non_unique = array('sql_query_pre' => true, 'sql_attr_uint' => true, 'sql_attr_timestamp' => true, 'sql_attr_str2ordinal' => true, 'sql_attr_bool' => true); $delete = array('sql_group_column' => true, 'sql_date_column' => true, 'sql_str2ordinal_column' => true); + + /** + * Allow adding/changing the Sphinx configuration data + * + * @event core.search_sphinx_modify_config_data + * @var array config_data Array with the Sphinx configuration data + * @var array non_unique Array with the Sphinx non-unique variables to delete + * @var array delete Array with the Sphinx variables to delete + * @since 3.1.7-RC1 + */ + $vars = array( + 'config_data', + 'non_unique', + 'delete', + ); + extract($this->phpbb_dispatcher->trigger_event('core.search_sphinx_modify_config_data', compact($vars))); + foreach ($config_data as $section_name => $section_data) { $section = $config_object->get_section_by_name($section_name); @@ -531,6 +548,41 @@ class fulltext_sphinx $this->sphinx->SetFilter('topic_id', array($topic_id)); } + /** + * Allow modifying the Sphinx search options + * + * @event core.search_sphinx_keywords_modify_options + * @var string type Searching type ('posts', 'topics') + * @var string fields Searching fields ('titleonly', 'msgonly', 'firstpost', 'all') + * @var string terms Searching terms ('all', 'any') + * @var int sort_days Time, in days, of the oldest possible post to list + * @var string sort_key The sort type used from the possible sort types + * @var int topic_id Limit the search to this topic_id only + * @var array ex_fid_ary Which forums not to search on + * @var string post_visibility Post visibility data + * @var array author_ary Array of user_id containing the users to filter the results to + * @var string author_name The username to search on + * @var object sphinx The Sphinx searchd client object + * @since 3.1.7-RC1 + */ + $sphinx = $this->sphinx; + $vars = array( + 'type', + 'fields', + 'terms', + 'sort_days', + 'sort_key', + 'topic_id', + 'ex_fid_ary', + 'post_visibility', + 'author_ary', + 'author_name', + 'sphinx', + ); + extract($this->phpbb_dispatcher->trigger_event('core.search_sphinx_keywords_modify_options', compact($vars))); + $this->sphinx = $sphinx; + unset($sphinx); + $search_query_prefix = ''; switch ($fields) |
