1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-22 08:13:14 +02:00

[feature/extension-manager] Make search backends loadable from extensions

Search backends are now required to be autoloadable. The database updater to
3.1 tries to guess the class name as phpbb_search_<oldname> which works for
the default backends we ship.

PHPBB3-10323
This commit is contained in:
Nils Adermann
2011-08-15 20:00:47 -04:00
parent fb943d4d6b
commit dcc5ca5377
8 changed files with 44 additions and 46 deletions

View File

@@ -24,12 +24,12 @@ define('SEARCH_RESULT_IN_CACHE', 1);
define('SEARCH_RESULT_INCOMPLETE', 2);
/**
* search_backend
* phpbb_search_base
* optional base class for search plugins providing simple caching based on ACM
* and functions to retrieve ignore_words and synonyms
* @package search
*/
class search_backend
class phpbb_search_base
{
var $ignore_words = array();
var $match_synonym = array();

View File

@@ -16,17 +16,12 @@ if (!defined('IN_PHPBB'))
exit;
}
/**
* @ignore
*/
include_once($phpbb_root_path . 'includes/search/search.' . $phpEx);
/**
* fulltext_mysql
* Fulltext search for MySQL
* @package search
*/
class fulltext_mysql extends search_backend
class phpbb_search_fulltext_mysql extends phpbb_search_base
{
var $stats = array();
var $word_length = array();
@@ -36,7 +31,7 @@ class fulltext_mysql extends search_backend
var $pcre_properties = false;
var $mbstring_regex = false;
function fulltext_mysql(&$error)
public function __construct(&$error)
{
global $config;
@@ -57,6 +52,11 @@ class fulltext_mysql extends search_backend
$error = false;
}
function get_name()
{
return 'MySQL Fulltext';
}
/**
* Checks for correct MySQL version and stores min/max word length in the config
*/

View File

@@ -16,17 +16,12 @@ if (!defined('IN_PHPBB'))
exit;
}
/**
* @ignore
*/
include_once($phpbb_root_path . 'includes/search/search.' . $phpEx);
/**
* fulltext_native
* phpBB's own db driven fulltext search, version 2
* @package search
*/
class fulltext_native extends search_backend
class phpbb_search_fulltext_native extends phpbb_search_base
{
var $stats = array();
var $word_length = array();
@@ -41,10 +36,8 @@ class fulltext_native extends search_backend
* Initialises the fulltext_native search backend with min/max word length and makes sure the UTF-8 normalizer is loaded.
*
* @param boolean|string &$error is passed by reference and should either be set to false on success or an error message on failure.
*
* @access public
*/
function fulltext_native(&$error)
public function __construct(&$error)
{
global $phpbb_root_path, $phpEx, $config;
@@ -58,10 +51,14 @@ class fulltext_native extends search_backend
include($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);
}
$error = false;
}
function get_name()
{
return 'phpBB Native Fulltext';
}
/**
* This function fills $this->search_query with the cleaned user search query.
*