Merge "ResourceLoaderMediaWikiUtilModule (mediawiki.util): Fix loading in debug mode"
[lhc/web/wiklou.git] / includes / logging / MoveLogFormatter.php
index 3913016..afbf8e9 100644 (file)
@@ -32,13 +32,14 @@ class MoveLogFormatter extends LogFormatter {
        public function getPreloadTitles() {
                $params = $this->extractParameters();
 
-               return array( Title::newFromText( $params[3] ) );
+               return [ Title::newFromText( $params[3] ) ];
        }
 
        protected function getMessageKey() {
                $key = parent::getMessageKey();
-               $params = $this->getMessageParameters();
+               $params = $this->extractParameters();
                if ( isset( $params[4] ) && $params[4] === '1' ) {
+                       // Messages: logentry-move-move-noredirect, logentry-move-move_redir-noredirect
                        $key .= '-noredirect';
                }
 
@@ -47,10 +48,11 @@ class MoveLogFormatter extends LogFormatter {
 
        protected function getMessageParameters() {
                $params = parent::getMessageParameters();
-               $oldname = $this->makePageLink( $this->entry->getTarget(), array( 'redirect' => 'no' ) );
+               $oldname = $this->makePageLink( $this->entry->getTarget(), [ 'redirect' => 'no' ] );
                $newname = $this->makePageLink( Title::newFromText( $params[3] ) );
                $params[2] = Message::rawParam( $oldname );
                $params[3] = Message::rawParam( $newname );
+               unset( $params[4] ); // handled in getMessageKey
 
                return $params;
        }
@@ -72,15 +74,40 @@ class MoveLogFormatter extends LogFormatter {
                $revert = Linker::linkKnown(
                        SpecialPage::getTitleFor( 'Movepage' ),
                        $this->msg( 'revertmove' )->escaped(),
-                       array(),
-                       array(
+                       [],
+                       [
                                'wpOldTitle' => $destTitle->getPrefixedDBkey(),
                                'wpNewTitle' => $this->entry->getTarget()->getPrefixedDBkey(),
                                'wpReason' => $this->msg( 'revertmove' )->inContentLanguage()->text(),
                                'wpMovetalk' => 0
-                       )
+                       ]
                );
 
                return $this->msg( 'parentheses' )->rawParams( $revert )->escaped();
        }
+
+       protected function getParametersForApi() {
+               $entry = $this->entry;
+               $params = $entry->getParameters();
+
+               static $map = [
+                       '4:title:target',
+                       '5:bool:suppressredirect',
+                       '4::target' => '4:title:target',
+                       '5::noredir' => '5:bool:suppressredirect',
+               ];
+               foreach ( $map as $index => $key ) {
+                       if ( isset( $params[$index] ) ) {
+                               $params[$key] = $params[$index];
+                               unset( $params[$index] );
+                       }
+               }
+
+               if ( !isset( $params['5:bool:suppressredirect'] ) ) {
+                       $params['5:bool:suppressredirect'] = false;
+               }
+
+               return $params;
+       }
+
 }