diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
commit | 370e83bb0dfd0c70de268c93bf07ad5ee0897192 (patch) | |
tree | 491674f4c242e4d6ba0d04eafa305174c35a3391 /includes/SearchMySQL4.php | |
parent | f4debf0f12d0524d2b2427c55ea3f16b680fad97 (diff) |
Update auf 1.13.0
Diffstat (limited to 'includes/SearchMySQL4.php')
-rw-r--r-- | includes/SearchMySQL4.php | 60 |
1 files changed, 10 insertions, 50 deletions
diff --git a/includes/SearchMySQL4.php b/includes/SearchMySQL4.php index 271dbe1d..3e2bb2d1 100644 --- a/includes/SearchMySQL4.php +++ b/includes/SearchMySQL4.php @@ -18,57 +18,17 @@ # http://www.gnu.org/copyleft/gpl.html /** + * @file + * @ingroup Search + */ + +/** * Search engine hook for MySQL 4+ - * @addtogroup Search + * This class retained for backwards compatibility... + * The meat's been moved to SearchMySQL, since the 3.x variety is gone. + * @ingroup Search + * @deprecated */ class SearchMySQL4 extends SearchMySQL { - var $strictMatching = true; - - /** @todo document */ - function SearchMySQL4( $db ) { - $this->db = $db; - } - - /** @todo document */ - function parseQuery( $filteredText, $fulltext ) { - global $wgContLang; - $lc = SearchEngine::legalSearchChars(); // Minus format chars - $searchon = ''; - $this->searchTerms = array(); - - # FIXME: This doesn't handle parenthetical expressions. - $m = array(); - if( preg_match_all( '/([-+<>~]?)(([' . $lc . ']+)(\*?)|"[^"]*")/', - $filteredText, $m, PREG_SET_ORDER ) ) { - foreach( $m as $terms ) { - if( $searchon !== '' ) $searchon .= ' '; - if( $this->strictMatching && ($terms[1] == '') ) { - $terms[1] = '+'; - } - $searchon .= $terms[1] . $wgContLang->stripForSearch( $terms[2] ); - if( !empty( $terms[3] ) ) { - // Match individual terms in result highlighting... - $regexp = preg_quote( $terms[3], '/' ); - if( $terms[4] ) $regexp .= "[0-9A-Za-z_]+"; - } else { - // Match the quoted term in result highlighting... - $regexp = preg_quote( str_replace( '"', '', $terms[2] ), '/' ); - } - $this->searchTerms[] = "\b$regexp\b"; - } - wfDebug( "Would search with '$searchon'\n" ); - wfDebug( 'Match with /\b' . implode( '\b|\b', $this->searchTerms ) . "\b/\n" ); - } else { - wfDebug( "Can't understand search query '{$filteredText}'\n" ); - } - - $searchon = $this->db->strencode( $searchon ); - $field = $this->getIndexField( $fulltext ); - return " MATCH($field) AGAINST('$searchon' IN BOOLEAN MODE) "; - } - - public static function legalSearchChars() { - return "\"*" . parent::legalSearchChars(); - } + /* whee */ } - |