In some cases, the return value would be either non-escaped or
double-escaped.
Bug: T236509
Change-Id: If56a9df5f815a58a11741c5e020bb2d43a692563
(cherry picked from commit
a0d7e49f0941a5f7a7e9cbb396540572317f9ae6)
// link to the group description page, if it exists
$linkTitle = self::getGroupPage( $group );
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
// link to the group description page, if it exists
$linkTitle = self::getGroupPage( $group );
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
- if ( $linkTitle ) {
- if ( $format === 'wiki' ) {
+ if ( $format === 'wiki' ) {
+ if ( $linkTitle ) {
$linkPage = $linkTitle->getFullText();
$groupLink = "[[$linkPage|$groupName]]";
} else {
$linkPage = $linkTitle->getFullText();
$groupLink = "[[$linkPage|$groupName]]";
} else {
- $groupLink = $linkRenderer->makeLink( $linkTitle, $groupName );
+ $groupLink = $groupName;
- $groupLink = htmlspecialchars( $groupName );
+ if ( $linkTitle ) {
+ $groupLink = $linkRenderer->makeLink( $linkTitle, $groupName );
+ } else {
+ $groupLink = htmlspecialchars( $groupName );
+ }
$expiryDT = $uiLanguage->userTimeAndDate( $expiry, $uiUser );
$expiryD = $uiLanguage->userDate( $expiry, $uiUser );
$expiryT = $uiLanguage->userTime( $expiry, $uiUser );
$expiryDT = $uiLanguage->userTimeAndDate( $expiry, $uiUser );
$expiryD = $uiLanguage->userDate( $expiry, $uiUser );
$expiryT = $uiLanguage->userTime( $expiry, $uiUser );
- if ( $format === 'html' ) {
+
+ if ( $format === 'wiki' ) {
+ return $context->msg( 'group-membership-link-with-expiry' )
+ ->params( $groupLink, $expiryDT, $expiryD, $expiryT )->text();
+ } else {
$groupLink = Message::rawParam( $groupLink );
$groupLink = Message::rawParam( $groupLink );
+ return $context->msg( 'group-membership-link-with-expiry' )
+ ->params( $groupLink, $expiryDT, $expiryD, $expiryT )->escaped();
- return $context->msg( 'group-membership-link-with-expiry' )
- ->params( $groupLink, $expiryDT, $expiryD, $expiryT )->text();