/**
* Handles searching prefixes of titles and finding any page
* names that match. Used largely by the OpenSearch implementation.
+ * @deprecated Since 1.27, Use SearchEngine::prefixSearchSubpages or SearchEngine::completionSearch
*
* @ingroup Search
*/
* @param int $offset Number of items to skip
* @return array Array of Title objects
*/
- protected function defaultSearchBackend( $namespaces, $search, $limit, $offset ) {
+ public function defaultSearchBackend( $namespaces, $search, $limit, $offset ) {
$ns = array_shift( $namespaces ); // support only one namespace
- if ( in_array( NS_MAIN, $namespaces ) ) {
+ if ( is_null( $ns ) || in_array( NS_MAIN, $namespaces ) ) {
$ns = NS_MAIN; // if searching on many always default to main
}
- $t = Title::newFromText( $search, $ns );
+ if ( $ns == NS_SPECIAL ) {
+ return $this->specialSearch( $search, $limit, $offset );
+ }
+ $t = Title::newFromText( $search, $ns );
$prefix = $t ? $t->getDBkey() : '';
$dbr = wfGetDB( DB_SLAVE );
$res = $dbr->select( 'page',
/**
* Performs prefix search, returning Title objects
+ * @deprecated Since 1.27, Use SearchEngine::prefixSearchSubpages or SearchEngine::completionSearch
* @ingroup Search
*/
class TitlePrefixSearch extends PrefixSearch {
/**
* Performs prefix search, returning strings
+ * @deprecated Since 1.27, Use SearchEngine::prefixSearchSubpages or SearchEngine::completionSearch
* @ingroup Search
*/
class StringPrefixSearch extends PrefixSearch {