]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - includes/logging/ContentModelLogFormatter.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / includes / logging / ContentModelLogFormatter.php
diff --git a/includes/logging/ContentModelLogFormatter.php b/includes/logging/ContentModelLogFormatter.php
new file mode 100644 (file)
index 0000000..861ea30
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+
+use MediaWiki\MediaWikiServices;
+
+class ContentModelLogFormatter extends LogFormatter {
+       protected function getMessageParameters() {
+               $lang = $this->context->getLanguage();
+               $params = parent::getMessageParameters();
+               $params[3] = ContentHandler::getLocalizedName( $params[3], $lang );
+               $params[4] = ContentHandler::getLocalizedName( $params[4], $lang );
+               return $params;
+       }
+
+       public function getActionLinks() {
+               if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden
+                       || $this->entry->getSubtype() !== 'change'
+                       || !$this->context->getUser()->isAllowed( 'editcontentmodel' )
+               ) {
+                       return '';
+               }
+
+               $params = $this->extractParameters();
+               $revert = MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+                       SpecialPage::getTitleFor( 'ChangeContentModel' ),
+                       $this->msg( 'logentry-contentmodel-change-revertlink' )->text(),
+                       [],
+                       [
+                               'pagetitle' => $this->entry->getTarget()->getPrefixedText(),
+                               'model' => $params[3],
+                               'reason' => $this->msg( 'logentry-contentmodel-change-revert' )->inContentLanguage()->text(),
+                       ]
+               );
+
+               return $this->msg( 'parentheses' )->rawParams( $revert )->escaped();
+       }
+}