*/
protected $mText;
- /**
- * @var SearchEngine
- */
- protected $searchEngine;
-
/**
* A function returning a set of extension data.
* @var Closure|null
* Return a new SearchResult and initializes it with a title.
*
* @param Title $title
- * @param SearchResultSet|null $parentSet
+ * @param ISearchResultSet|null $parentSet
* @return SearchResult
*/
- public static function newFromTitle( $title, SearchResultSet $parentSet = null ) {
+ public static function newFromTitle( $title, ISearchResultSet $parentSet = null ) {
$result = new static();
$result->initFromTitle( $title );
if ( $parentSet ) {
$this->mImage = $services->getRepoGroup()->findFile( $this->mTitle );
}
}
- $this->searchEngine = $services->newSearchEngine();
}
/**
*
* @return bool
*/
- function isBrokenTitle() {
+ public function isBrokenTitle() {
return is_null( $this->mTitle );
}
*
* @return bool
*/
- function isMissingRevision() {
+ public function isMissingRevision() {
return !$this->mRevision && !$this->mImage;
}
/**
* @return Title
*/
- function getTitle() {
+ public function getTitle() {
return $this->mTitle;
}
* Get the file for this page, if one exists
* @return File|null
*/
- function getFile() {
+ public function getFile() {
return $this->mImage;
}
protected function initText() {
if ( !isset( $this->mText ) ) {
if ( $this->mRevision != null ) {
- $this->mText = $this->searchEngine->getTextFromContent(
- $this->mTitle, $this->mRevision->getContent() );
+ $content = $this->mRevision->getContent();
+ $this->mText = $content !== null ? $content->getTextForSearchIndex() : '';
} else { // TODO: can we fetch raw wikitext for commons images?
$this->mText = '';
}
* @param string[] $terms Terms to highlight (this parameter is deprecated and ignored)
* @return string Highlighted text snippet, null (and not '') if not supported
*/
- function getTextSnippet( $terms = [] ) {
+ public function getTextSnippet( $terms = [] ) {
return '';
}
/**
* @return string Highlighted title, '' if not supported
*/
- function getTitleSnippet() {
+ public function getTitleSnippet() {
return '';
}
/**
* @return string Highlighted redirect name (redirect to this page), '' if none or not supported
*/
- function getRedirectSnippet() {
+ public function getRedirectSnippet() {
return '';
}
/**
* @return Title|null Title object for the redirect to this page, null if none or not supported
*/
- function getRedirectTitle() {
+ public function getRedirectTitle() {
return null;
}
/**
* @return string Highlighted relevant section name, null if none or not supported
*/
- function getSectionSnippet() {
+ public function getSectionSnippet() {
return '';
}
* @return Title|null Title object (pagename+fragment) for the section,
* null if none or not supported
*/
- function getSectionTitle() {
+ public function getSectionTitle() {
return null;
}
/**
* @return string Timestamp
*/
- function getTimestamp() {
+ public function getTimestamp() {
if ( $this->mRevision ) {
return $this->mRevision->getTimestamp();
} elseif ( $this->mImage ) {
/**
* @return int Number of words
*/
- function getWordCount() {
+ public function getWordCount() {
$this->initText();
return str_word_count( $this->mText );
}
/**
* @return int Size in bytes
*/
- function getByteSize() {
+ public function getByteSize() {
$this->initText();
return strlen( $this->mText );
}
/**
* @return string Interwiki prefix of the title (return iw even if title is broken)
*/
- function getInterwikiPrefix() {
+ public function getInterwikiPrefix() {
return '';
}
/**
* @return string Interwiki namespace of the title (since we likely can't resolve it locally)
*/
- function getInterwikiNamespaceText() {
+ public function getInterwikiNamespaceText() {
return '';
}
* Did this match file contents (eg: PDF/DJVU)?
* @return bool
*/
- function isFileMatch() {
+ public function isFileMatch() {
return false;
}