Merge "output: Narrow Title type hint to LinkTarget"
[lhc/web/wiklou.git] / includes / logging / ContentModelLogFormatter.php
1 <?php
2
3 use MediaWiki\MediaWikiServices;
4
5 class ContentModelLogFormatter extends LogFormatter {
6 protected function getMessageParameters() {
7 $lang = $this->context->getLanguage();
8 $params = parent::getMessageParameters();
9 $params[3] = ContentHandler::getLocalizedName( $params[3], $lang );
10 $params[4] = ContentHandler::getLocalizedName( $params[4], $lang );
11 return $params;
12 }
13
14 public function getActionLinks() {
15 if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden
16 || $this->entry->getSubtype() !== 'change'
17 || !MediaWikiServices::getInstance()
18 ->getPermissionManager()
19 ->userHasRight( $this->context->getUser(), 'editcontentmodel' )
20 ) {
21 return '';
22 }
23
24 $params = $this->extractParameters();
25 $revert = $this->getLinkRenderer()->makeKnownLink(
26 SpecialPage::getTitleFor( 'ChangeContentModel' ),
27 $this->msg( 'logentry-contentmodel-change-revertlink' )->text(),
28 [],
29 [
30 'pagetitle' => $this->entry->getTarget()->getPrefixedText(),
31 'model' => $params[3],
32 'reason' => $this->msg( 'logentry-contentmodel-change-revert' )->inContentLanguage()->text(),
33 ]
34 );
35
36 return $this->msg( 'parentheses' )->rawParams( $revert )->escaped();
37 }
38 }