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

Reply via email to