From 3fd88e945d3b4048cd5a387a8b21b4d839fc3f0f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 8 Sep 2011 08:57:02 +0000 Subject: [PATCH] Use LogFormatter to format log entries. * Anonymous users now display correctly This paves the way for new LogFormatters than enable proper i18n. Each log type must be converted individually. --- includes/LogEventsList.php | 79 +++++++------------------------------- 1 file changed, 14 insertions(+), 65 deletions(-) diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index ed65c4e476..1188c507e4 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -326,18 +326,19 @@ class LogEventsList { * @return String: Formatted HTML list item */ public function logLine( $row ) { - $classes = array( 'mw-logline-' . $row->log_type ); - $title = Title::makeTitle( $row->log_namespace, $row->log_title ); - // Log time - $time = $this->logTimestamp( $row ); - // User links - $userLink = $this->logUserLinks( $row ); + $entry = DatabaseLogEntry::newFromRow( $row ); + $formatter = LogFormatter::newFromEntry( $entry ); + $formatter->setShowUserToolLinks( !( $this->flags & self::NO_EXTRA_USER_LINKS ) ); + + $action = $formatter->getActionText(); + $comment = $formatter->getComment(); + + $classes = array( 'mw-logline-' . $entry->getType() ); + $title = $entry->getTarget(); + $time = $this->logTimestamp( $entry ); + // Extract extra parameters $paramArray = LogPage::extractParams( $row->log_params ); - // Event description - $action = $this->logAction( $row, $title, $paramArray ); - // Log comment - $comment = $this->logComment( $row ); // Add review/revert links and such... $revert = $this->logActionLinks( $row, $title, $paramArray, $comment ); @@ -350,67 +351,15 @@ class LogEventsList { $classes = array_merge( $classes, $newClasses ); return Xml::tags( 'li', array( "class" => implode( ' ', $classes ) ), - $del . "$time $userLink $action $comment $revert $tagDisplay" ) . "\n"; + $del . "$time $action $comment $revert $tagDisplay" ) . "\n"; } - private function logTimestamp( $row ) { + private function logTimestamp( LogEntry $entry ) { global $wgLang; - $time = $wgLang->timeanddate( wfTimestamp( TS_MW, $row->log_timestamp ), true ); + $time = $wgLang->timeanddate( wfTimestamp( TS_MW, $entry->getTimestamp() ), true ); return htmlspecialchars( $time ); } - /** - * @param $row - * @return String - */ - private function logUserLinks( $row ) { - if( self::isDeleted( $row, LogPage::DELETED_USER ) ) { - $userLinks = '' . - wfMsgHtml( 'rev-deleted-user' ) . ''; - } else { - $userLinks = Linker::userLink( $row->log_user, $row->user_name ); - // Talk|Contribs links... - if( !( $this->flags & self::NO_EXTRA_USER_LINKS ) ) { - $userLinks .= Linker::userToolLinks( - $row->log_user, $row->user_name, true, 0, $row->user_editcount ); - } - } - return $userLinks; - } - - /** - * @param $row - * @param $title - * @param $paramArray - * @return string - */ - private function logAction( $row, $title, $paramArray ) { - if( self::isDeleted( $row, LogPage::DELETED_ACTION ) ) { - $action = '' . - wfMsgHtml( 'rev-deleted-event' ) . ''; - } else { - $action = LogPage::actionText( - $row->log_type, $row->log_action, $title, $this->skin, $paramArray, true ); - } - return $action; - } - - /** - * @param $row - * @return string - */ - private function logComment( $row ) { - if( self::isDeleted( $row, LogPage::DELETED_COMMENT ) ) { - $comment = '' . - wfMsgHtml( 'rev-deleted-comment' ) . ''; - } else { - global $wgLang; - $comment = $wgLang->getDirMark() . - Linker::commentBlock( $row->log_comment ); - } - return $comment; - } - /** * @TODO: split up! * -- 2.20.1