* @since 1.25
*/
class TagLogFormatter extends LogFormatter {
+
+ protected function getMessageParameters() {
+ $params = parent::getMessageParameters();
+
+ $isRevLink = !empty( $params[3] );
+ if ( $isRevLink ) {
+ $id = $params[3];
+ $target = $this->entry->getTarget();
+ $query = [
+ 'oldid' => $id,
+ 'diff' => 'prev'
+ ];
+ } else {
+ $id = $params[4];
+ $target = SpecialPage::getTitleValueFor( 'Log' );
+ $query = [
+ 'logid' => $id,
+ ];
+ }
+
+ $formattedNumber = $this->context->getLanguage()->formatNum( $id, true );
+ if ( $this->plaintext ) {
+ $link = $formattedNumber;
+ } elseif ( !$isRevLink || $target->exists() ) {
+ $link = $this->getLinkRenderer()->makeKnownLink(
+ $target, $formattedNumber, [], $query );
+ } else {
+ $link = htmlspecialchars( $formattedNumber );
+ }
+
+ if ( $isRevLink ) {
+ $params[3] = Message::rawParam( $link );
+ } else {
+ $params[4] = Message::rawParam( $link );
+ }
+
+ return $params;
+ }
+
protected function getMessageKey() {
$key = parent::getMessageKey();
$params = $this->getMessageParameters();
return $key;
}
+
}