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 }
Title\newFromText
static newFromText( $text, $defaultNamespace=NS_MAIN)
Create a new Title from text, such as what one would find in a link.
Definition: Title.php:395
MoveLogFormatter
This class formats move log entries.
Definition: MoveLogFormatter.php:31
LogEntry\getParameters
getParameters()
Get the extra parameters stored for this message.
LogFormatter\$entry
LogEntryBase $entry
Definition: LogFormatter.php:81
SpecialPage\getTitleFor
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,...
Definition: SpecialPage.php:107
MoveLogFormatter\getPreloadTitles
getPreloadTitles()
Definition: MoveLogFormatter.php:32
MoveLogFormatter\getParametersForApi
getParametersForApi()
Get the array of parameters, converted from legacy format if necessary.
Definition: MoveLogFormatter.php:89
LogPage\DELETED_ACTION
const DELETED_ACTION
Definition: LogPage.php:39
MoveLogFormatter\getActionLinks
getActionLinks()
Returns extra links that comes after the action text, like "revert", etc.
Definition: MoveLogFormatter.php:60
MoveLogFormatter\getMessageKey
getMessageKey()
Returns a key to be used for formatting the action sentence.
Definition: MoveLogFormatter.php:38
Message\rawParam
static rawParam( $raw)
Definition: Message.php:1116
LogFormatter
Implements the default log formatting.
Definition: LogFormatter.php:42
LogFormatter\msg
msg( $key,... $params)
Shortcut for wfMessage which honors local context.
Definition: LogFormatter.php:788
LogFormatter\getLinkRenderer
getLinkRenderer()
Definition: LogFormatter.php:145
LogFormatter\extractParameters
extractParameters()
Extracts the optional extra parameters for use in action messages.
Definition: LogFormatter.php:526
LogFormatter\makePageLink
makePageLink(Title $title=null, $parameters=[], $html=null)
Helper to make a link to the page, taking the plaintext value in consideration.
Definition: LogFormatter.php:680
MoveLogFormatter\getMessageParameters
getMessageParameters()
Formats parameters intented for action message from array of all parameters.
Definition: MoveLogFormatter.php:49