X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/includes/search/SqlSearchResultSet.php diff --git a/includes/search/SqlSearchResultSet.php b/includes/search/SqlSearchResultSet.php new file mode 100644 index 00000000..53d09e82 --- /dev/null +++ b/includes/search/SqlSearchResultSet.php @@ -0,0 +1,69 @@ +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 ), $this + ); + } + + function rewind() { + if ( $this->resultSet ) { + $this->resultSet->rewind(); + } + } + + 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(); + } + } +}