MediaWiki  REL1_24
MoveLogFormatter.php
Go to the documentation of this file.
00001 <?php
00031 class MoveLogFormatter extends LogFormatter {
00032     public function getPreloadTitles() {
00033         $params = $this->extractParameters();
00034 
00035         return array( Title::newFromText( $params[3] ) );
00036     }
00037 
00038     protected function getMessageKey() {
00039         $key = parent::getMessageKey();
00040         $params = $this->getMessageParameters();
00041         if ( isset( $params[4] ) && $params[4] === '1' ) {
00042             $key .= '-noredirect';
00043         }
00044 
00045         return $key;
00046     }
00047 
00048     protected function getMessageParameters() {
00049         $params = parent::getMessageParameters();
00050         $oldname = $this->makePageLink( $this->entry->getTarget(), array( 'redirect' => 'no' ) );
00051         $newname = $this->makePageLink( Title::newFromText( $params[3] ) );
00052         $params[2] = Message::rawParam( $oldname );
00053         $params[3] = Message::rawParam( $newname );
00054 
00055         return $params;
00056     }
00057 
00058     public function getActionLinks() {
00059         if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) // Action is hidden
00060             || $this->entry->getSubtype() !== 'move'
00061             || !$this->context->getUser()->isAllowed( 'move' )
00062         ) {
00063             return '';
00064         }
00065 
00066         $params = $this->extractParameters();
00067         $destTitle = Title::newFromText( $params[3] );
00068         if ( !$destTitle ) {
00069             return '';
00070         }
00071 
00072         $revert = Linker::linkKnown(
00073             SpecialPage::getTitleFor( 'Movepage' ),
00074             $this->msg( 'revertmove' )->escaped(),
00075             array(),
00076             array(
00077                 'wpOldTitle' => $destTitle->getPrefixedDBkey(),
00078                 'wpNewTitle' => $this->entry->getTarget()->getPrefixedDBkey(),
00079                 'wpReason' => $this->msg( 'revertmove' )->inContentLanguage()->text(),
00080                 'wpMovetalk' => 0
00081             )
00082         );
00083 
00084         return $this->msg( 'parentheses' )->rawParams( $revert )->escaped();
00085     }
00086 }