Merge "Strip Unicode 6.3.0 directional formatting characters from title"
[lhc/web/wiklou.git] / includes / search / SearchOracle.php
index c5a5ef1..7fe5b53 100644 (file)
@@ -64,7 +64,7 @@ class SearchOracle extends SearchDatabase {
         * @param string $term Raw search term
         * @return SqlSearchResultSet
         */
-       function searchText( $term ) {
+       protected function doSearchText( $term ) {
                if ( $term == '' ) {
                        return new SqlSearchResultSet( false, '' );
                }
@@ -79,7 +79,7 @@ class SearchOracle extends SearchDatabase {
         * @param string $term Raw search term
         * @return SqlSearchResultSet
         */
-       function searchTitle( $term ) {
+       protected function doSearchTitle( $term ) {
                if ( $term == '' ) {
                        return new SqlSearchResultSet( false, '' );
                }
@@ -92,7 +92,7 @@ class SearchOracle extends SearchDatabase {
         * Return a partial WHERE clause to limit the search to the given namespaces
         * @return string
         */
-       function queryNamespaces() {
+       private function queryNamespaces() {
                if ( is_null( $this->namespaces ) ) {
                        return '';
                }
@@ -111,7 +111,7 @@ class SearchOracle extends SearchDatabase {
         *
         * @return string
         */
-       function queryLimit( $sql ) {
+       private function queryLimit( $sql ) {
                return $this->db->limitResult( $sql, $this->limit, $this->offset );
        }
 
@@ -134,7 +134,7 @@ class SearchOracle extends SearchDatabase {
         * @param bool $fulltext
         * @return string
         */
-       function getQuery( $filteredTerm, $fulltext ) {
+       private function getQuery( $filteredTerm, $fulltext ) {
                return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
                        $this->queryNamespaces() . ' ' .
                        $this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
@@ -145,7 +145,7 @@ class SearchOracle extends SearchDatabase {
         * @param bool $fulltext
         * @return string
         */
-       function getIndexField( $fulltext ) {
+       private function getIndexField( $fulltext ) {
                return $fulltext ? 'si_text' : 'si_title';
        }
 
@@ -172,9 +172,9 @@ class SearchOracle extends SearchDatabase {
         * @param bool $fulltext
         * @return string
         */
-       function parseQuery( $filteredText, $fulltext ) {
+       private function parseQuery( $filteredText, $fulltext ) {
                global $wgContLang;
-               $lc = $this->legalSearchChars();
+               $lc = $this->legalSearchChars( self::CHARS_NO_SYNTAX );
                $this->searchTerms = [];
 
                # @todo FIXME: This doesn't handle parenthetical expressions.
@@ -266,7 +266,11 @@ class SearchOracle extends SearchDatabase {
                        [] );
        }
 
-       public static function legalSearchChars() {
-               return "\"" . parent::legalSearchChars();
+       public static function legalSearchChars( $type = self::CHARS_ALL ) {
+               $searchChars = parent::legalSearchChars( $type );
+               if ( $type === self::CHARS_ALL ) {
+                       $searchChars = "\"" . $searchChars;
+               }
+               return $searchChars;
        }
 }