* @return array
*/
function termMatches() {
- return array();
+ return [];
}
function numRows() {
/**
* Return a result set of hits on other (multiple) wikis associated with this one
*
- * @return SearchResultSet
+ * @return SearchResultSet[]
*/
function getInterwikiResults( $type = self::SECONDARY_RESULTS ) {
return null;
return false;
}
+ /**
+ * Rewind result set back to begining
+ */
+ function rewind() {
+ }
+
/**
* Frees the result set, if applicable.
*/
return $this->containedSyntax;
}
}
-
-/**
- * This class is used for different SQL-based search engines shipped with MediaWiki
- * @ingroup Search
- */
-class SqlSearchResultSet extends SearchResultSet {
- protected $resultSet;
- protected $terms;
- protected $totalHits;
-
- function __construct( $resultSet, $terms, $total = null ) {
- $this->resultSet = $resultSet;
- $this->terms = $terms;
- $this->totalHits = $total;
- }
-
- function termMatches() {
- return $this->terms;
- }
-
- function numRows() {
- if ( $this->resultSet === false ) {
- return false;
- }
-
- return $this->resultSet->numRows();
- }
-
- function next() {
- if ( $this->resultSet === false ) {
- return false;
- }
-
- $row = $this->resultSet->fetchObject();
- if ( $row === false ) {
- return false;
- }
-
- return SearchResult::newFromTitle(
- Title::makeTitle( $row->page_namespace, $row->page_title )
- );
- }
-
- function free() {
- if ( $this->resultSet === false ) {
- return false;
- }
-
- $this->resultSet->free();
- }
-
- function getTotalHits() {
- if ( !is_null( $this->totalHits ) ) {
- return $this->totalHits;
- } else {
- // Special:Search expects a number here.
- return $this->numRows();
- }
- }
-}
-
-/**
- * A SearchResultSet wrapper for SearchEngine::getNearMatch
- */
-class SearchNearMatchResultSet extends SearchResultSet {
- private $fetched = false;
-
- /**
- * @param Title|null $match Title if matched, else null
- */
- public function __construct( $match ) {
- $this->result = $match;
- }
-
- public function numRows() {
- return $this->result ? 1 : 0;
- }
-
- public function next() {
- if ( $this->fetched || !$this->result ) {
- return false;
- }
- $this->fetched = true;
- return SearchResult::newFromTitle( $this->result );
- }
-}