diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2008-03-21 11:49:34 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2008-03-21 11:49:34 +0100 |
commit | 086ae52d12011746a75f5588e877347bc0457352 (patch) | |
tree | e73263c7a29d0f94fafb874562610e16eb292ba8 /includes/SearchMySQL4.php | |
parent | 749e7fb2bae7bbda855de3c9e319435b9f698ff7 (diff) |
Update auf MediaWiki 1.12.0
Diffstat (limited to 'includes/SearchMySQL4.php')
-rw-r--r-- | includes/SearchMySQL4.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/includes/SearchMySQL4.php b/includes/SearchMySQL4.php index 6d2bbfef..271dbe1d 100644 --- a/includes/SearchMySQL4.php +++ b/includes/SearchMySQL4.php @@ -32,7 +32,7 @@ class SearchMySQL4 extends SearchMySQL { /** @todo document */ function parseQuery( $filteredText, $fulltext ) { global $wgContLang; - $lc = SearchEngine::legalSearchChars(); + $lc = SearchEngine::legalSearchChars(); // Minus format chars $searchon = ''; $this->searchTerms = array(); @@ -47,12 +47,14 @@ class SearchMySQL4 extends SearchMySQL { } $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[] = $regexp; + $this->searchTerms[] = "\b$regexp\b"; } wfDebug( "Would search with '$searchon'\n" ); wfDebug( 'Match with /\b' . implode( '\b|\b', $this->searchTerms ) . "\b/\n" ); @@ -64,5 +66,9 @@ class SearchMySQL4 extends SearchMySQL { $field = $this->getIndexField( $fulltext ); return " MATCH($field) AGAINST('$searchon' IN BOOLEAN MODE) "; } + + public static function legalSearchChars() { + return "\"*" . parent::legalSearchChars(); + } } |