jenkins-bot has submitted this change and it was merged. Change subject: Less static Result(Set) ......................................................................
Less static Result(Set) Change-Id: Ifa5523a55c9716151afce07eebd193fdc05f29ad --- M includes/Result.php M includes/ResultSet.php 2 files changed, 18 insertions(+), 33 deletions(-) Approvals: Manybubbles: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/Result.php b/includes/Result.php index 4413ea5..381ff83 100644 --- a/includes/Result.php +++ b/includes/Result.php @@ -24,15 +24,6 @@ * http://www.gnu.org/copyleft/gpl.html */ class Result extends SearchResult { - /** - * @var string|null lazy built escaped copy of Searcher::HIGHLIGHT_PRE - */ - private static $highlightPreEscaped = null; - /** - * @var string|null lazy built escaped copy of Searcher::HIGHLIGHT_POST - */ - private static $highlightPostEscaped = null; - private $titleSnippet; private $redirectTitle, $redirectSnipppet; private $sectionTitle, $sectionSnippet; @@ -68,14 +59,14 @@ if ( $this->getTitle()->getNamespace() !== 0 ) { $nstext = $this->getTitle()->getNsText() . ':'; } - $this->titleSnippet = $nstext . self::escapeHighlightedText( $highlights[ 'title' ][ 0 ] ); + $this->titleSnippet = $nstext . $this->escapeHighlightedText( $highlights[ 'title' ][ 0 ] ); } else { $this->titleSnippet = ''; } if ( !isset( $highlights[ 'title' ] ) && isset( $highlights[ 'redirect.title' ] ) ) { // Make sure to find the redirect title before escaping because escaping breaks it.... $this->redirectTitle = $this->findRedirectTitle( $highlights[ 'redirect.title' ][ 0 ], $result->redirect ); - $this->redirectSnipppet = self::escapeHighlightedText( $highlights[ 'redirect.title' ][ 0 ] ); + $this->redirectSnipppet = $this->escapeHighlightedText( $highlights[ 'redirect.title' ][ 0 ] ); } else { $this->redirectSnipppet = ''; $this->redirectTitle = null; @@ -84,18 +75,18 @@ $snippet = $highlights[ 'text' ][ 0 ]; if ( isset( $highlights[ 'file_text' ] ) ) { $fileTextSnippet = $highlights[ 'file_text' ][ 0 ]; - if ( !self::containsMatches( $snippet ) && self::containsMatches( $fileTextSnippet ) ) { + if ( !$this->containsMatches( $snippet ) && $this->containsMatches( $fileTextSnippet ) ) { $snippet = wfMessage( 'cirrussearch-file-contents-match', $fileTextSnippet )->toString(); } } - $this->textSnippet = self::escapeHighlightedText( $snippet ); + $this->textSnippet = $this->escapeHighlightedText( $snippet ); } else { // This can happen if there the page was sent to Elasticsearch without text. This could be // a bug or it could be that the page simply doesn't have any text. $this->textSnippet = ''; } if ( isset( $highlights[ 'heading' ] ) ) { - $this->sectionSnippet = self::escapeHighlightedText( $highlights[ 'heading' ][ 0 ] ); + $this->sectionSnippet = $this->escapeHighlightedText( $highlights[ 'heading' ][ 0 ] ); $this->sectionTitle = $this->findSectionTitle(); } else { $this->sectionSnippet = ''; @@ -133,12 +124,13 @@ * @param $snippet string highlighted snippet returned from elasticsearch * @return string $snippet with html escaped _except_ highlighting pre and post tags */ - private static function escapeHighlightedText( $snippet ) { - if ( self::$highlightPreEscaped === null ) { - self::$highlightPreEscaped = htmlspecialchars( Searcher::HIGHLIGHT_PRE ); - self::$highlightPostEscaped = htmlspecialchars( Searcher::HIGHLIGHT_POST ); + private function escapeHighlightedText( $snippet ) { + static $highlightPreEscaped = null, $highlightPostEscaped = null; + if ( $highlightPreEscaped === null ) { + $highlightPreEscaped = htmlspecialchars( Searcher::HIGHLIGHT_PRE ); + $highlightPostEscaped = htmlspecialchars( Searcher::HIGHLIGHT_POST ); } - return str_replace( array( self::$highlightPreEscaped, self::$highlightPostEscaped ), + return str_replace( array( $highlightPreEscaped, $highlightPostEscaped ), array( Searcher::HIGHLIGHT_PRE, Searcher::HIGHLIGHT_POST ), htmlspecialchars( $snippet ) ); } @@ -148,7 +140,7 @@ * @param string $snippet highlighted snippet returned from elasticsearch * @return boolean true if $snippet contains matches, false otherwise */ - private static function containsMatches( $snippet ) { + private function containsMatches( $snippet ) { return strpos( $snippet, Searcher::HIGHLIGHT_PRE ) !== false; } diff --git a/includes/ResultSet.php b/includes/ResultSet.php index dc02d75..eb1b04f 100644 --- a/includes/ResultSet.php +++ b/includes/ResultSet.php @@ -22,15 +22,6 @@ * http://www.gnu.org/copyleft/gpl.html */ class ResultSet extends SearchResultSet { - /** - * @var string|null lazy built escaped copy of Searcher::SUGGESTION_HIGHLIGHT_PRE - */ - private static $suggestionHighlightPreEscaped = null; - /** - * @var string|null lazy built escaped copy of Searcher::SUGGESTION_HIGHLIGHT_POST - */ - private static $suggestionHighlightPostEscaped = null; - private $result, $hits, $totalHits, $suggestionQuery, $suggestionSnippet; public function __construct( $suggestPrefixes, $suggestSuffixes, $res ) { @@ -91,13 +82,15 @@ * @return string $suggestion with html escaped _except_ highlighting pre and post tags */ private function escapeHighlightedSuggestion( $suggestion ) { - if ( self::$suggestionHighlightPreEscaped === null ) { - self::$suggestionHighlightPreEscaped = + static $suggestionHighlightPreEscaped = null, + $suggestionHighlightPostEscaped = null; + if ( $suggestionHighlightPreEscaped === null ) { + $suggestionHighlightPreEscaped = htmlspecialchars( Searcher::SUGGESTION_HIGHLIGHT_PRE ); - self::$suggestionHighlightPostEscaped = + $suggestionHighlightPostEscaped = htmlspecialchars( Searcher::SUGGESTION_HIGHLIGHT_POST ); } - return str_replace( array( self::$suggestionHighlightPreEscaped, self::$suggestionHighlightPostEscaped ), + return str_replace( array( $suggestionHighlightPreEscaped, $suggestionHighlightPostEscaped ), array( Searcher::SUGGESTION_HIGHLIGHT_PRE, Searcher::SUGGESTION_HIGHLIGHT_POST ), htmlspecialchars( $suggestion ) ); } -- To view, visit https://gerrit.wikimedia.org/r/107729 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifa5523a55c9716151afce07eebd193fdc05f29ad Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: Chad <[email protected]> Gerrit-Reviewer: Manybubbles <[email protected]> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
