'LogFormatter' => 'includes/logging/LogFormatter.php',
'ManualLogEntry' => 'includes/logging/LogEntry.php',
'MoveLogFormatter' => 'includes/logging/LogFormatter.php',
+ 'NewUsersLogFormatter' => 'includes/logging/LogFormatter.php',
'PatrolLog' => 'includes/logging/PatrolLog.php',
'PatrolLogFormatter' => 'includes/logging/LogFormatter.php',
'RCDatabaseLogEntry' => 'includes/logging/LogEntry.php',
array( 'known', 'noclasses' )
) . ')';
}
- // Self-created users
- } elseif( self::typeAction( $row, 'newusers', 'create2' ) ) {
- if( isset( $paramArray[0] ) ) {
- $revert = Linker::userToolLinks( $paramArray[0], $title->getDBkey(), true );
- } else {
- # Fall back to a blue contributions link
- $revert = Linker::userToolLinks( 1, $title->getDBkey() );
- }
- if( wfTimestamp( TS_MW, $row->log_timestamp ) < '20080129000000' ) {
- # Suppress $comment from old entries (before 2008-01-29),
- # not needed and can contain incorrect links
- $comment = '';
- }
// Do nothing. The implementation is handled by the hook modifiying the passed-by-ref parameters.
} else {
wfRunHooks( 'LogLine', array( $row->log_type, $row->log_action, $title, $paramArray,
$wgLogNames['newusers'] = 'newuserlogpage';
$wgLogHeaders['newusers'] = 'newuserlogpagetext';
# newusers, create, create2, autocreate
- $wgLogActionsHandlers['newusers/*'] = 'LogFormatter';
+ $wgLogActionsHandlers['newusers/*'] = 'NewUsersLogFormatter';
}
if ( $wgCookieSecure === 'detect' ) {
*/
public function getPerformerElement() {
$performer = $this->entry->getPerformer();
-
- if ( $this->plaintext ) {
- $element = $performer->getName();
- } else {
- $element = Linker::userLink(
- $performer->getId(),
- $performer->getName()
- );
-
- if ( $this->linkFlood ) {
- $element .= Linker::userToolLinks(
- $performer->getId(),
- $performer->getName(),
- true, // Red if no edits
- 0, // Flags
- $performer->getEditCount()
- );
- }
- }
+ $element = $this->makeUserLink( $performer );
if ( $this->entry->isDeleted( LogPage::DELETED_USER ) ) {
$element = self::getRestrictedElement( 'rev-deleted-user' );
->title( $this->context->getTitle() );
}
+ protected function makeUserLink( User $user ) {
+ if ( $this->plaintext ) {
+ $element = $user->getName();
+ } else {
+ $element = Linker::userLink(
+ $user->getId(),
+ $user->getName()
+ );
+
+ if ( $this->linkFlood ) {
+ $element .= Linker::userToolLinks(
+ $user->getId(),
+ $user->getName(),
+ true, // Red if no edits
+ 0, // Flags
+ $user->getEditCount()
+ );
+ }
+ }
+ return $element;
+ }
+
}
/**
$newParams[3] = Message::rawParam( $revlink );
return $newParams;
}
+}
+
+/**
+ * This class formats new user log entries.
+ * @since 1.19
+ */
+class NewUsersLogFormatter extends LogFormatter {
+ protected function getMessageParameters() {
+ $params = parent::getMessageParameters();
+ if ( $this->entry->getSubtype() === 'create2' ) {
+ if ( isset( $params[3] ) ) {
+ $target = User::newFromId( $params[3] );
+ } else {
+ $target = User::newFromName( $this->entry->getTarget()->getText(), false );
+ }
+ $params[2] = Message::rawParam( $this->makeUserLink( $target ) );
+ $params[3] = $target->getName();
+ }
+ return $params;
+ }
+
+ public function getComment() {
+ $subtype = $this->entry->getSubtype();
+ $timestamp = wfTimestamp( TS_MW, $this->entry->getTimestamp() );
+ if ( $timestamp < '20080129000000' ) {
+ # Suppress $comment from old entries (before 2008-01-29),
+ # not needed and can contain incorrect links
+ return '';
+ }
+ return parent::getComment();
+ }
}
\ No newline at end of file
'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|moved}} page $3 to $4 over a redirect without leaving a redirect',
'logentry-patrol-patrol' => '$1 {{GENDER:$2|marked}} revision $4 of page $3 patrolled',
'logentry-patrol-patrol-auto' => '$1 automatically {{GENDER:$2|marked}} revision $4 of page $3 patrolled',
-'logentry-newusers-newusers' => '', # do not translate or duplicate this message to other languages
+'logentry-newusers-newusers' => '$1 {{GENDER:$2|created}} a user account',
'logentry-newusers-create' => '$1 {{GENDER:$2|created}} a user account',
-'logentry-newusers-create2' => '$1 {{GENDER:$2|created}} a user account $3',
+'logentry-newusers-create2' => '$1 {{GENDER:$2|created}} {{GENDER:$4|a user account}} $3',
'logentry-newusers-autocreate' => 'Account $1 was {{GENDER:$2|created}} automatically',
'newuserlog-byemail' => 'password sent by e-mail',
'unusedtemplates-summary',
'fewestrevisions-summary',
'upload-summary',
- 'logentry-newusers-newusers',
'wantedtemplates-summary',
'activeusers-summary',
'search-summary',