Tell regexp parser to use extra analysis on external link regexp;
[lhc/web/wiklou.git] / includes / SearchUpdate.php
index 6837642..859cccc 100644 (file)
@@ -30,7 +30,7 @@ class SearchUpdate {
        }
 
        function doUpdate() {
-               global $wgDBminWordLen, $wgLang, $wgDisableSearchUpdate;
+               global $wgDBminWordLen, $wgContLang, $wgDisableSearchUpdate;
 
                if( $wgDisableSearchUpdate || !$this->mId ) {
                        return false;
@@ -55,7 +55,7 @@ class SearchUpdate {
                }
 
                # Language-specific strip/conversion
-               $text = $wgLang->stripForSearch( $this->mText );
+               $text = $wgContLang->stripForSearch( $this->mText );
 
                wfProfileIn( $fname.'-regexps' );
                $text = preg_replace( "/<\\/?\\s*[A-Za-z][A-Za-z0-9]*\\s*([^>]*?)>/",
@@ -105,13 +105,19 @@ class SearchUpdate {
                # Strip wiki '' and '''
                $text = preg_replace( "/''[']*/", " ", $text );
                wfProfileOut( "$fname-regexps" );
-               
-               $sql = "REPLACE  INTO $searchindex (si_page,si_title,si_text) VALUES ({$this->mId},'" .
-                 $db->strencode( Title::indexTitle( $this->mNamespace, $this->mTitle ) ) . "','" .
-                 $db->strencode( $text ) . "')";
-               $db->query( $sql, 'SearchUpdate::doUpdate' );
+               $db->replace( 'searchindex', array(array('si_page')),
+                       array(
+                               'si_page' => $this->mId,
+                               'si_title' => $db->strencode( Title::indexTitle( $this->mNamespace, $this->mTitle ) ),
+                               'si_text' => $db->strencode( $text )
+                       ), 'SearchUpdate::doUpdate' );
                wfProfileOut( $fname );
        }
 }
 
+/* Placeholder class */
+class SearchUpdateMyISAM extends SearchUpdate {
+       # Inherits everything
+}
+
 ?>