X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=df9955609cb6d4e4d572a32d4aca252e16ce6e7d;hb=064dd53b284f46600aba2818db536d0874c10c89;hp=2c7f44c2d5f8c7c479fbd6a18ccc68e56b74fe87;hpb=207543b255632bab4e29e3d76b743c5db369fe48;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 2c7f44c2d5..df9955609c 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1077,21 +1077,23 @@ class Linker { * @since 1.16.3 * @param Revision $rev * @param bool $isPublic Show only if all users can see it + * @param bool $useParentheses (optional) Wrap comments in parentheses where needed * @return string HTML */ - public static function revUserTools( $rev, $isPublic = false ) { + public static function revUserTools( $rev, $isPublic = false, $useParentheses = true ) { if ( $rev->isDeleted( Revision::DELETED_USER ) && $isPublic ) { $link = wfMessage( 'rev-deleted-user' )->escaped(); } elseif ( $rev->userCan( Revision::DELETED_USER ) ) { $userId = $rev->getUser( Revision::FOR_THIS_USER ); $userText = $rev->getUserText( Revision::FOR_THIS_USER ); $link = self::userLink( $userId, $userText ) - . self::userToolLinks( $userId, $userText ); + . self::userToolLinks( $userId, $userText, false, 0, null, + $useParentheses ); } else { $link = wfMessage( 'rev-deleted-user' )->escaped(); } if ( $rev->isDeleted( Revision::DELETED_USER ) ) { - return ' ' . $link . ''; + return ' ' . $link . ''; } return $link; } @@ -1517,7 +1519,7 @@ class Linker { $block = " " . wfMessage( 'rev-deleted-comment' )->escaped() . ""; } if ( $rev->isDeleted( Revision::DELETED_COMMENT ) ) { - return " $block"; + return " $block"; } return $block; } @@ -1532,9 +1534,8 @@ class Linker { $stxt = wfMessage( 'historyempty' )->escaped(); } else { $stxt = wfMessage( 'nbytes' )->numParams( $size )->escaped(); - $stxt = wfMessage( 'parentheses' )->rawParams( $stxt )->escaped(); } - return "$stxt"; + return "$stxt"; } /** @@ -1607,9 +1608,8 @@ class Linker { * @return string Full html of the TOC */ public static function tocList( $toc, $lang = null ) { - global $wgLang; - $lang = $lang ?? $wgLang; - if ( !is_object( $lang ) ) { + $lang = $lang ?? RequestContext::getMain()->getLanguage(); + if ( !$lang instanceof Language ) { wfDeprecated( __METHOD__ . ' with type other than Language for $lang', '1.33' ); $lang = wfGetLangObj( $lang ); } @@ -1711,12 +1711,8 @@ class Linker { static function splitTrail( $trail ) { $regex = MediaWikiServices::getInstance()->getContentLanguage()->linkTrail(); $inside = ''; - if ( $trail !== '' ) { - $m = []; - if ( preg_match( $regex, $trail, $m ) ) { - $inside = $m[1]; - $trail = $m[2]; - } + if ( $trail !== '' && preg_match( $regex, $trail, $m ) ) { + list( , $inside, $trail ) = $m; } return [ $inside, $trail ]; } @@ -1769,6 +1765,20 @@ class Linker { $inner = $context->msg( 'brackets' )->rawParams( $inner )->escaped(); } + /** + * FIXME + * Remove all references to DisableRollbackConfirmationFeature + * after release of rollback feature. See T199534 + */ + if ( !MediaWikiServices::getInstance() + ->getMainConfig()->get( 'DisableRollbackConfirmationFeature' ) && + $context->getUser()->getBoolOption( 'showrollbackconfirmation' ) + ) { + $stats = MediaWikiServices::getInstance()->getStatsdDataFactory(); + $stats->increment( 'rollbackconfirmation.event.load' ); + $context->getOutput()->addModules( 'mediawiki.page.rollback.confirmation' ); + } + return '' . $inner . ''; } @@ -1862,20 +1872,24 @@ class Linker { } $title = $rev->getTitle(); + $query = [ 'action' => 'rollback', 'from' => $rev->getUserText(), 'token' => $context->getUser()->getEditToken( 'rollback' ), ]; + $attrs = [ 'data-mw' => 'interface', - 'title' => $context->msg( 'tooltip-rollback' )->text(), + 'title' => $context->msg( 'tooltip-rollback' )->text() ]; + $options = [ 'known', 'noclasses' ]; if ( $context->getRequest()->getBool( 'bot' ) ) { + //T17999 + $query['hidediff'] = '1'; $query['bot'] = '1'; - $query['hidediff'] = '1'; // T17999 } $disableRollbackEditCount = false;