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