Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/177980

Change subject: Fix escaping of specialList and clarify comments
......................................................................

Fix escaping of specialList and clarify comments

Change-Id: I4bead5f5f310dd35e8dfee738f35a070e7bf869f
---
M languages/Language.php
1 file changed, 26 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/80/177980/1

diff --git a/languages/Language.php b/languages/Language.php
index 7847ba2..d14606b 100644
--- a/languages/Language.php
+++ b/languages/Language.php
@@ -959,7 +959,17 @@
         * @return string
         */
        function getMessageFromDB( $msg ) {
-               return wfMessage( $msg )->inLanguage( $this )->text();
+               return $this->msg( $msg )->text();
+       }
+
+       /**
+        * Get message object in this language. Only for use inside this class.
+        *
+        * @param string $msg Message name
+        * @return Message
+        */
+       protected function msg( $msg ) {
+               return wfMessage( $msg )->inLanguage( $this );
        }
 
        /**
@@ -3403,10 +3413,10 @@
                        return '';
                }
                if ( $m > 0 ) {
-                       $and = htmlspecialchars( $this->getMessageFromDB( 'and' 
) );
-                       $space = htmlspecialchars( $this->getMessageFromDB( 
'word-separator' ) );
+                       $and = $this->msg( 'and' )->escaped();
+                       $space = $this->msg( 'word-separator' )->escaped();
                        if ( $m > 1 ) {
-                               $comma = htmlspecialchars( 
$this->getMessageFromDB( 'comma-separator' ) );
+                               $comma = $this->msg( 'comma-separator' 
)->escaped();
                        }
                }
                $s = $l[$m];
@@ -4640,17 +4650,22 @@
         * Make a list item, used by various special pages
         *
         * @param string $page Page link
-        * @param string $details Text between brackets
+        * @param string $details HTML safe text between brackets
         * @param bool $oppositedm Add the direction mark opposite to your
         *   language, to display text properly
-        * @return string
+        * @return HTML escaped string
         */
        function specialList( $page, $details, $oppositedm = true ) {
-               $dirmark = ( $oppositedm ? $this->getDirMark( true ) : '' ) .
-                       $this->getDirMark();
-               $details = $details ? $dirmark . $this->getMessageFromDB( 
'word-separator' ) .
-                       wfMessage( 'parentheses' )->rawParams( $details 
)->inLanguage( $this )->escaped() : '';
-               return $page . $details;
+               if ( !$details ) {
+                       return $page;
+               }
+
+               $dirmark = ( $oppositedm ? $this->getDirMark( true ) : '' ) . 
$this->getDirMark();
+               return
+                       $page .
+                       $dirmark .
+                       $this->msg( 'word-separator' )->escaped() .
+                       $this->msg( 'parentheses' )->rawParams( $details 
)->escaped();
        }
 
        /**

-- 
To view, visit https://gerrit.wikimedia.org/r/177980
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4bead5f5f310dd35e8dfee738f35a070e7bf869f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <niklas.laxst...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to