MediaWiki  master
MoveLogFormatter.php
Go to the documentation of this file.
1 <?php
32  public function getPreloadTitles() {
33  $params = $this->extractParameters();
34 
35  return [ Title::newFromText( $params[3] ) ];
36  }
37 
38  protected function getMessageKey() {
39  $key = parent::getMessageKey();
40  $params = $this->extractParameters();
41  if ( isset( $params[4] ) && $params[4] === '1' ) {
42  // Messages: logentry-move-move-noredirect, logentry-move-move_redir-noredirect
43  $key .= '-noredirect';
44  }
45 
46  return $key;
47  }
48 
49  protected function getMessageParameters() {
50  $params = parent::getMessageParameters();
51  $oldname = $this->makePageLink( $this->entry->getTarget(), [ 'redirect' => 'no' ] );
52  $newname = $this->makePageLink( Title::newFromText( $params[3] ) );
53  $params[2] = Message::rawParam( $oldname );
54  $params[3] = Message::rawParam( $newname );
55  unset( $params[4] ); // handled in getMessageKey
56 
57  return $params;
58  }
59 
60  public function getActionLinks() {
61  if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden
62  || $this->entry->getSubtype() !== 'move'
63  || !$this->context->getAuthority()->isAllowed( 'move' )
64  ) {
65  return '';
66  }
67 
68  $params = $this->extractParameters();
69  $destTitle = Title::newFromText( $params[3] );
70  if ( !$destTitle ) {
71  return '';
72  }
73 
74  $revert = $this->getLinkRenderer()->makeKnownLink(
75  SpecialPage::getTitleFor( 'Movepage' ),
76  $this->msg( 'revertmove' )->text(),
77  [],
78  [
79  'wpOldTitle' => $destTitle->getPrefixedDBkey(),
80  'wpNewTitle' => $this->entry->getTarget()->getPrefixedDBkey(),
81  'wpReason' => $this->msg( 'revertmove' )->inContentLanguage()->text(),
82  'wpMovetalk' => 0
83  ]
84  );
85 
86  return $this->msg( 'parentheses' )->rawParams( $revert )->escaped();
87  }
88 
89  protected function getParametersForApi() {
91  $params = $entry->getParameters();
92 
93  static $map = [
94  '4:title:target',
95  '5:bool:suppressredirect',
96  '4::target' => '4:title:target',
97  '5::noredir' => '5:bool:suppressredirect',
98  ];
99  foreach ( $map as $index => $key ) {
100  if ( isset( $params[$index] ) ) {
101  $params[$key] = $params[$index];
102  unset( $params[$index] );
103  }
104  }
105 
106  if ( !isset( $params['5:bool:suppressredirect'] ) ) {
107  $params['5:bool:suppressredirect'] = false;
108  }
109 
110  return $params;
111  }
112 
113 }
Implements the default log formatting.
LogEntryBase $entry
msg( $key,... $params)
Shortcut for wfMessage which honors local context.
makePageLink(Title $title=null, $parameters=[], $html=null)
Helper to make a link to the page, taking the plaintext value in consideration.
extractParameters()
Extracts the optional extra parameters for use in action messages.
const DELETED_ACTION
Definition: LogPage.php:40
static rawParam( $raw)
Definition: Message.php:1155
This class formats move log entries.
getMessageKey()
Returns a key to be used for formatting the action sentence.
getMessageParameters()
Formats parameters intended for action message from array of all parameters.
getParametersForApi()
Get the array of parameters, converted from legacy format if necessary.
getActionLinks()
Returns extra links that comes after the action text, like "revert", etc.
static getTitleFor( $name, $subpage=false, $fragment='')
Get a localised Title object for a specified special page name If you don't need a full Title object,...
static newFromText( $text, $defaultNamespace=NS_MAIN)
Create a new Title from text, such as what one would find in a link.
Definition: Title.php:369
getParameters()
Get the extra parameters stored for this message.