X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/extensions/Renameuser/RenameuserLogFormatter.php diff --git a/extensions/Renameuser/RenameuserLogFormatter.php b/extensions/Renameuser/RenameuserLogFormatter.php new file mode 100644 index 00000000..4bc7bf81 --- /dev/null +++ b/extensions/Renameuser/RenameuserLogFormatter.php @@ -0,0 +1,96 @@ +entry->getTarget()->getText(); + } + + // Nice link to old user page + $title = Title::makeTitleSafe( NS_USER, $params[3] ); + $link = $this->myPageLink( $title, $params[3] ); + $params[3] = Message::rawParam( $link ); + + // Nice link to new user page + $title = Title::makeTitleSafe( NS_USER, $params[4] ); + $link = $this->myPageLink( $title, $params[4] ); + $params[4] = Message::rawParam( $link ); + // GENDER support (using new user page) + $params[6] = $title->getText(); + + return $params; + } + + protected function myPageLink( Title $title = null, $text ) { + if ( !$this->plaintext ) { + $text = htmlspecialchars( $text ); + $link = Linker::link( $title, $text ); + } else { + if ( !$title instanceof Title ) { + $link = "[[User:$text]]"; + } else { + $link = '[[' . $title->getPrefixedText() . ']]'; + } + } + + return $link; + } + + public function getMessageKey() { + $key = parent::getMessageKey(); + $params = $this->extractParameters(); + + // Very old log format, everything in comment + if ( !isset( $params[3] ) ) { + return "$key-legaciest"; + } elseif ( !isset( $params[5] ) ) { + return "$key-legacier"; + } + + return $key; + } + + public function getPreloadTitles() { + $params = $this->extractParameters(); + if ( !isset( $params[3] ) ) { + // Very old log format, everything in comment - legaciest + return []; + } + if ( !isset( $params[4] ) ) { + // Old log format - legacier + $newUserName = $params[3]; + } else { + $newUserName = $params[4]; + } + + $title = Title::makeTitleSafe( NS_USER, $newUserName ); + if ( $title ) { + return [ $title ]; + } + + return []; + } +}