From 8a536b8591b9a7b6835393e5c91f65883d6d091d Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Tue, 3 Dec 2013 15:36:21 +0100 Subject: [PATCH] Update formatting for log related classes Change-Id: I6535467ed9b22d61b7c5caf3f18067a988871751 --- includes/logging/DeleteLogFormatter.php | 179 +++++++++++----------- includes/logging/LogEntry.php | 20 +-- includes/logging/LogEventsList.php | 15 +- includes/logging/LogFormatter.php | 41 +++-- includes/logging/LogPage.php | 8 +- includes/logging/LogPager.php | 4 + includes/logging/MoveLogFormatter.php | 4 + includes/logging/NewUsersLogFormatter.php | 3 + includes/logging/PatrolLog.php | 3 +- includes/logging/PatrolLogFormatter.php | 2 + includes/logging/RightsLogFormatter.php | 1 + 11 files changed, 163 insertions(+), 117 deletions(-) diff --git a/includes/logging/DeleteLogFormatter.php b/includes/logging/DeleteLogFormatter.php index 01528b7e17..461119273e 100644 --- a/includes/logging/DeleteLogFormatter.php +++ b/includes/logging/DeleteLogFormatter.php @@ -36,6 +36,7 @@ class DeleteLogFormatter extends LogFormatter { return "$key-legacy"; } } + return $key; } @@ -74,6 +75,7 @@ class DeleteLogFormatter extends LogFormatter { $newParams[3] = $changeText; $count = count( explode( ',', $params[$paramStart] ) ); $newParams[4] = $this->context->getLanguage()->formatNum( $count ); + return $this->parsedParametersDeleteLog = $newParams; } else { return $this->parsedParametersDeleteLog = array_slice( $params, 0, 3 ); @@ -87,6 +89,7 @@ class DeleteLogFormatter extends LogFormatter { // Input is like ofield=2134 or just the number if ( strpos( $string, 'field=' ) === 1 ) { list( , $field ) = explode( '=', $string ); + return (int)$field; } else { return (int)$string; @@ -100,97 +103,99 @@ class DeleteLogFormatter extends LogFormatter { } switch ( $this->entry->getSubtype() ) { - case 'delete': // Show undelete link - if ( $user->isAllowed( 'undelete' ) ) { - $message = 'undeletelink'; - } else { - $message = 'undeleteviewlink'; - } - $revert = Linker::linkKnown( - SpecialPage::getTitleFor( 'Undelete' ), - $this->msg( $message )->escaped(), - array(), - array( 'target' => $this->entry->getTarget()->getPrefixedDBkey() ) - ); - return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); - - case 'revision': // If an edit was hidden from a page give a review link to the history - $params = $this->extractParameters(); - if ( !isset( $params[3] ) || !isset( $params[4] ) ) { - return ''; - } + case 'delete': // Show undelete link + if ( $user->isAllowed( 'undelete' ) ) { + $message = 'undeletelink'; + } else { + $message = 'undeleteviewlink'; + } + $revert = Linker::linkKnown( + SpecialPage::getTitleFor( 'Undelete' ), + $this->msg( $message )->escaped(), + array(), + array( 'target' => $this->entry->getTarget()->getPrefixedDBkey() ) + ); + + return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); + + case 'revision': // If an edit was hidden from a page give a review link to the history + $params = $this->extractParameters(); + if ( !isset( $params[3] ) || !isset( $params[4] ) ) { + return ''; + } - // Different revision types use different URL params... - $key = $params[3]; - // This is a CSV of the IDs - $ids = explode( ',', $params[4] ); - - $links = array(); - - // If there's only one item, we can show a diff link - if ( count( $ids ) == 1 ) { - // Live revision diffs... - if ( $key == 'oldid' || $key == 'revision' ) { - $links[] = Linker::linkKnown( - $this->entry->getTarget(), - $this->msg( 'diff' )->escaped(), - array(), - array( - 'diff' => intval( $ids[0] ), - 'unhide' => 1 - ) - ); - // Deleted revision diffs... - } elseif ( $key == 'artimestamp' || $key == 'archive' ) { - $links[] = Linker::linkKnown( - SpecialPage::getTitleFor( 'Undelete' ), - $this->msg( 'diff' )->escaped(), - array(), - array( - 'target' => $this->entry->getTarget()->getPrefixedDBkey(), - 'diff' => 'prev', - 'timestamp' => $ids[0] - ) - ); + // Different revision types use different URL params... + $key = $params[3]; + // This is a CSV of the IDs + $ids = explode( ',', $params[4] ); + + $links = array(); + + // If there's only one item, we can show a diff link + if ( count( $ids ) == 1 ) { + // Live revision diffs... + if ( $key == 'oldid' || $key == 'revision' ) { + $links[] = Linker::linkKnown( + $this->entry->getTarget(), + $this->msg( 'diff' )->escaped(), + array(), + array( + 'diff' => intval( $ids[0] ), + 'unhide' => 1 + ) + ); + // Deleted revision diffs... + } elseif ( $key == 'artimestamp' || $key == 'archive' ) { + $links[] = Linker::linkKnown( + SpecialPage::getTitleFor( 'Undelete' ), + $this->msg( 'diff' )->escaped(), + array(), + array( + 'target' => $this->entry->getTarget()->getPrefixedDBkey(), + 'diff' => 'prev', + 'timestamp' => $ids[0] + ) + ); + } } - } - // View/modify link... - $links[] = Linker::linkKnown( - SpecialPage::getTitleFor( 'Revisiondelete' ), - $this->msg( 'revdel-restore' )->escaped(), - array(), - array( - 'target' => $this->entry->getTarget()->getPrefixedText(), - 'type' => $key, - 'ids' => implode( ',', $ids ), - ) - ); - - return $this->msg( 'parentheses' )->rawParams( - $this->context->getLanguage()->pipeList( $links ) )->escaped(); - - case 'event': // Hidden log items, give review link - $params = $this->extractParameters(); - if ( !isset( $params[3] ) ) { + // View/modify link... + $links[] = Linker::linkKnown( + SpecialPage::getTitleFor( 'Revisiondelete' ), + $this->msg( 'revdel-restore' )->escaped(), + array(), + array( + 'target' => $this->entry->getTarget()->getPrefixedText(), + 'type' => $key, + 'ids' => implode( ',', $ids ), + ) + ); + + return $this->msg( 'parentheses' )->rawParams( + $this->context->getLanguage()->pipeList( $links ) )->escaped(); + + case 'event': // Hidden log items, give review link + $params = $this->extractParameters(); + if ( !isset( $params[3] ) ) { + return ''; + } + // This is a CSV of the IDs + $query = $params[3]; + // Link to each hidden object ID, $params[1] is the url param + $revert = Linker::linkKnown( + SpecialPage::getTitleFor( 'Revisiondelete' ), + $this->msg( 'revdel-restore' )->escaped(), + array(), + array( + 'target' => $this->entry->getTarget()->getPrefixedText(), + 'type' => 'logging', + 'ids' => $query + ) + ); + + return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); + default: return ''; - } - // This is a CSV of the IDs - $query = $params[3]; - // Link to each hidden object ID, $params[1] is the url param - $revert = Linker::linkKnown( - SpecialPage::getTitleFor( 'Revisiondelete' ), - $this->msg( 'revdel-restore' )->escaped(), - array(), - array( - 'target' => $this->entry->getTarget()->getPrefixedText(), - 'type' => 'logging', - 'ids' => $query - ) - ); - return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); - default: - return ''; } } } diff --git a/includes/logging/LogEntry.php b/includes/logging/LogEntry.php index a1cb3a7c7c..e15943fd10 100644 --- a/includes/logging/LogEntry.php +++ b/includes/logging/LogEntry.php @@ -33,7 +33,6 @@ * @since 1.19 */ interface LogEntry { - /** * The main log type. * @return string @@ -117,7 +116,6 @@ abstract class LogEntryBase implements LogEntry { public function isLegacy() { return false; } - } /** @@ -202,6 +200,7 @@ class DatabaseLogEntry extends LogEntryBase { public function isLegacy() { // This does the check $this->getParameters(); + return $this->legacy; } @@ -229,6 +228,7 @@ class DatabaseLogEntry extends LogEntryBase { $this->legacy = true; } } + return $this->params; } @@ -246,6 +246,7 @@ class DatabaseLogEntry extends LogEntryBase { $this->performer = User::newFromName( $userText, false ); } } + return $this->performer; } @@ -253,6 +254,7 @@ class DatabaseLogEntry extends LogEntryBase { $namespace = $this->row->log_namespace; $page = $this->row->log_title; $title = Title::makeTitle( $namespace, $page ); + return $title; } @@ -267,7 +269,6 @@ class DatabaseLogEntry extends LogEntryBase { public function getDeleted() { return $this->row->log_deleted; } - } class RCDatabaseLogEntry extends DatabaseLogEntry { @@ -301,6 +302,7 @@ class RCDatabaseLogEntry extends DatabaseLogEntry { $this->performer = User::newFromName( $userText, false ); } } + return $this->performer; } @@ -308,6 +310,7 @@ class RCDatabaseLogEntry extends DatabaseLogEntry { $namespace = $this->row->rc_namespace; $page = $this->row->rc_title; $title = Title::makeTitle( $namespace, $page ); + return $title; } @@ -322,7 +325,6 @@ class RCDatabaseLogEntry extends DatabaseLogEntry { public function getDeleted() { return $this->row->rc_deleted; } - } /** @@ -448,7 +450,7 @@ class ManualLogEntry extends LogEntryBase { public function insert( IDatabase $dbw = null ) { global $wgContLang; - $dbw = $dbw ?: wfGetDB( DB_MASTER ); + $dbw = $dbw ? : wfGetDB( DB_MASTER ); $id = $dbw->nextSequenceValue( 'logging_log_id_seq' ); if ( $this->timestamp === null ) { @@ -484,8 +486,8 @@ class ManualLogEntry extends LogEntryBase { } foreach ( $values as $value ) { $rows[] = array( - 'ls_field' => $tag, - 'ls_value' => $value, + 'ls_field' => $tag, + 'ls_value' => $value, 'ls_log_id' => $this->id ); } @@ -520,6 +522,7 @@ class ManualLogEntry extends LogEntryBase { $ip = $user->getName(); } } + return RecentChange::newLogEntry( $this->getTimestamp(), $logpage, @@ -534,7 +537,6 @@ class ManualLogEntry extends LogEntryBase { $newId, $formatter->getIRCActionComment() // Used for IRC feeds ); - } /** @@ -589,6 +591,7 @@ class ManualLogEntry extends LogEntryBase { public function getTimestamp() { $ts = $this->timestamp !== null ? $this->timestamp : wfTimestampNow(); + return wfTimestamp( TS_MW, $ts ); } @@ -599,5 +602,4 @@ class ManualLogEntry extends LogEntryBase { public function getDeleted() { return (int)$this->deleted; } - } diff --git a/includes/logging/LogEventsList.php b/includes/logging/LogEventsList.php index c27b57af19..fc10a96f5c 100644 --- a/includes/logging/LogEventsList.php +++ b/includes/logging/LogEventsList.php @@ -176,6 +176,7 @@ class LogEventsList extends ContextSource { $links[$type] = $this->msg( "log-show-hide-{$type}" )->rawParams( $link )->escaped(); $hiddens .= Html::hidden( "hide_{$type}_log", $val ) . "\n"; } + // Build links return '' . $this->getLanguage()->pipeList( $links ) . '' . $hiddens; } @@ -191,6 +192,7 @@ class LogEventsList extends ContextSource { unset( $this->mDefaultQuery['month'] ); unset( $this->mDefaultQuery['year'] ); } + return $this->mDefaultQuery; } @@ -202,6 +204,7 @@ class LogEventsList extends ContextSource { $queryType = count( $queryTypes ) == 1 ? $queryTypes[0] : ''; $selector = $this->getTypeSelector(); $selector->setDefault( $queryType ); + return $selector->getHtml(); } @@ -281,6 +284,7 @@ class LogEventsList extends ContextSource { return Xml::inputLabel( $this->msg( 'revdelete-offender' )->text(), 'offender', 'mw-log-offender', 20, $offender ); } + return ''; } @@ -343,8 +347,11 @@ class LogEventsList extends ContextSource { * @return string */ private function getShowHideLinks( $row ) { - if ( ( $this->flags == self::NO_ACTION_LINK ) // we don't want to see the links - || $row->log_type == 'suppress' ) { // no one can hide items from the suppress log + // We don't want to see the links and + // no one can hide items from the suppress log. + if ( ( $this->flags == self::NO_ACTION_LINK ) + || $row->log_type == 'suppress' + ) { return ''; } $del = ''; @@ -373,6 +380,7 @@ class LogEventsList extends ContextSource { } } } + return $del; } @@ -394,6 +402,7 @@ class LogEventsList extends ContextSource { $match = $wgUser->isAllowed( $right ); } } + return $match; } @@ -431,6 +440,7 @@ class LogEventsList extends ContextSource { global $wgUser; $user = $wgUser; } + return $user->isAllowed( $permission ); } else { return true; @@ -613,6 +623,7 @@ class LogEventsList extends ContextSource { } elseif ( $hiddenLogs ) { return 'log_type NOT IN (' . $db->makeList( $hiddenLogs ) . ')'; } + return false; } } diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index 8f60aee16e..6e31242350 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -154,6 +154,7 @@ class LogFormatter { $this->plaintext = true; $text = $this->getActionText(); $this->plaintext = false; + return $text; } @@ -226,7 +227,7 @@ class LogFormatter { break; //case 'revision': // Revision deletion //case 'event': // Log deletion - // see https://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/LogPage.php?&pathrev=97044&r1=97043&r2=97044 + // see https://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/LogPage.php?&pathrev=97044&r1=97043&r2=97044 //default: } break; @@ -247,18 +248,18 @@ class LogFormatter { case 'protect': switch ( $entry->getSubtype() ) { - case 'protect': - $text = wfMessage( 'protectedarticle' ) - ->rawParams( $target . ' ' . $parameters[0] )->inContentLanguage()->escaped(); - break; - case 'unprotect': - $text = wfMessage( 'unprotectedarticle' ) - ->rawParams( $target )->inContentLanguage()->escaped(); - break; - case 'modify': - $text = wfMessage( 'modifiedarticleprotection' ) - ->rawParams( $target . ' ' . $parameters[0] )->inContentLanguage()->escaped(); - break; + case 'protect': + $text = wfMessage( 'protectedarticle' ) + ->rawParams( $target . ' ' . $parameters[0] )->inContentLanguage()->escaped(); + break; + case 'unprotect': + $text = wfMessage( 'unprotectedarticle' ) + ->rawParams( $target )->inContentLanguage()->escaped(); + break; + case 'modify': + $text = wfMessage( 'modifiedarticleprotection' ) + ->rawParams( $target . ' ' . $parameters[0] )->inContentLanguage()->escaped(); + break; } break; @@ -316,7 +317,6 @@ class LogFormatter { break; } break; - // case 'suppress' --private log -- aaron (sign your messages so we know who to blame in a few years :-D) // default: } @@ -326,6 +326,7 @@ class LogFormatter { $this->plaintext = false; $this->irctext = false; + return $text; } @@ -359,6 +360,7 @@ class LogFormatter { protected function getActionMessage() { $message = $this->msg( $this->getMessageKey() ); $message->params( $this->getMessageParameters() ); + return $message; } @@ -421,6 +423,7 @@ class LogFormatter { } } } + return $params; } @@ -446,6 +449,7 @@ class LogFormatter { // Bad things happens if the numbers are not in correct order ksort( $params ); + return $this->parsedParameters = $params; } @@ -538,6 +542,7 @@ class LogFormatter { } $link = '[[' . $title->getPrefixedText() . ']]'; } + return $link; } @@ -592,6 +597,7 @@ class LogFormatter { $content = $this->msg( $message )->escaped(); $attribs = array( 'class' => 'history-deleted' ); + return Html::rawElement( 'span', $attribs, $content ); } @@ -605,6 +611,7 @@ class LogFormatter { return $content; } $attribs = array( 'class' => 'history-deleted' ); + return Html::rawElement( 'span', $attribs, $content ); } @@ -635,6 +642,7 @@ class LogFormatter { ); } } + return $element; } @@ -654,7 +662,6 @@ class LogFormatter { // problems with extensions return $this->getMessageParameters(); } - } /** @@ -750,6 +757,7 @@ class LegacyLogFormatter extends LogFormatter { $this->msg( 'change-blocklink' )->escaped() ) ); + return $this->msg( 'parentheses' )->rawParams( $this->context->getLanguage()->pipeList( $links ) )->escaped(); // Show change protection link @@ -772,6 +780,7 @@ class LegacyLogFormatter extends LogFormatter { array( 'action' => 'protect' ) ); } + return $this->msg( 'parentheses' )->rawParams( $this->context->getLanguage()->pipeList( $links ) )->escaped(); // Show unmerge link @@ -791,6 +800,7 @@ class LegacyLogFormatter extends LogFormatter { 'mergepoint' => $params[4] ) ); + return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); } @@ -813,4 +823,3 @@ class LegacyLogFormatter extends LogFormatter { return $this->revert; } } - diff --git a/includes/logging/LogPage.php b/includes/logging/LogPage.php index d706cd7baf..35fb7cc26c 100644 --- a/includes/logging/LogPage.php +++ b/includes/logging/LogPage.php @@ -118,6 +118,7 @@ class LogPage { ); $rc->notifyRC2UDP(); } + return $newId; } @@ -175,6 +176,7 @@ class LogPage { */ public static function validTypes() { global $wgLogTypes; + return $wgLogTypes; } @@ -216,6 +218,7 @@ class LogPage { */ public static function logHeader( $type ) { global $wgLogHeaders; + return wfMessage( $wgLogHeaders[$type] )->parse(); } @@ -532,6 +535,7 @@ class LogPage { for ( $i = 0; $i < count( $flags ); $i++ ) { $flags[$i] = self::formatBlockFlag( $flags[$i], $lang ); } + return wfMessage( 'parentheses' )->inLanguage( $lang ) ->rawParams( $lang->commaList( $flags ) )->escaped(); } @@ -598,6 +602,7 @@ class LogPage { } else { $key = 'log-description-' . $this->type; } + return wfMessage( $key ); } @@ -614,6 +619,7 @@ class LogPage { // '' always returns true with $user->isAllowed() $restriction = ''; } + return $restriction; } @@ -624,7 +630,7 @@ class LogPage { */ public function isRestricted() { $restriction = $this->getRestriction(); + return $restriction !== '' && $restriction !== '*'; } - } diff --git a/includes/logging/LogPager.php b/includes/logging/LogPager.php index 9ce197ec61..1c613e8067 100644 --- a/includes/logging/LogPager.php +++ b/includes/logging/LogPager.php @@ -67,6 +67,7 @@ class LogPager extends ReverseChronologicalPager { $query['user'] = $this->performer; $query['month'] = $this->mMonth; $query['year'] = $this->mYear; + return $query; } @@ -87,6 +88,7 @@ class LogPager extends ReverseChronologicalPager { } } } + return $filters; } @@ -269,6 +271,7 @@ class LogPager extends ReverseChronologicalPager { # Add ChangeTags filter query ChangeTags::modifyDisplayQuery( $info['tables'], $info['fields'], $info['conds'], $info['join_conds'], $info['options'], $this->mTagFilter ); + return $info; } @@ -306,6 +309,7 @@ class LogPager extends ReverseChronologicalPager { $this->mResult->seek( 0 ); } wfProfileOut( __METHOD__ ); + return ''; } diff --git a/includes/logging/MoveLogFormatter.php b/includes/logging/MoveLogFormatter.php index c471b69f30..3913016392 100644 --- a/includes/logging/MoveLogFormatter.php +++ b/includes/logging/MoveLogFormatter.php @@ -31,6 +31,7 @@ class MoveLogFormatter extends LogFormatter { public function getPreloadTitles() { $params = $this->extractParameters(); + return array( Title::newFromText( $params[3] ) ); } @@ -40,6 +41,7 @@ class MoveLogFormatter extends LogFormatter { if ( isset( $params[4] ) && $params[4] === '1' ) { $key .= '-noredirect'; } + return $key; } @@ -49,6 +51,7 @@ class MoveLogFormatter extends LogFormatter { $newname = $this->makePageLink( Title::newFromText( $params[3] ) ); $params[2] = Message::rawParam( $oldname ); $params[3] = Message::rawParam( $newname ); + return $params; } @@ -77,6 +80,7 @@ class MoveLogFormatter extends LogFormatter { 'wpMovetalk' => 0 ) ); + return $this->msg( 'parentheses' )->rawParams( $revert )->escaped(); } } diff --git a/includes/logging/NewUsersLogFormatter.php b/includes/logging/NewUsersLogFormatter.php index 602728b4c4..c870d51946 100644 --- a/includes/logging/NewUsersLogFormatter.php +++ b/includes/logging/NewUsersLogFormatter.php @@ -41,6 +41,7 @@ class NewUsersLogFormatter extends LogFormatter { $params[2] = Message::rawParam( $this->makeUserLink( $target ) ); $params[3] = $target->getName(); } + return $params; } @@ -51,6 +52,7 @@ class NewUsersLogFormatter extends LogFormatter { # not needed and can contain incorrect links return ''; } + return parent::getComment(); } @@ -60,6 +62,7 @@ class NewUsersLogFormatter extends LogFormatter { //add the user talk to LinkBatch for the userLink return array( Title::makeTitle( NS_USER_TALK, $this->entry->getTarget()->getText() ) ); } + return array(); } } diff --git a/includes/logging/PatrolLog.php b/includes/logging/PatrolLog.php index bb76d5a959..40be52c753 100644 --- a/includes/logging/PatrolLog.php +++ b/includes/logging/PatrolLog.php @@ -27,7 +27,6 @@ * logs of patrol events */ class PatrolLog { - /** * Record a log event for a change being patrolled * @@ -65,6 +64,7 @@ class PatrolLog { if ( !$auto ) { $entry->publish( $logid, 'udp' ); } + return true; } @@ -82,5 +82,4 @@ class PatrolLog { '6::auto' => (int)$auto ); } - } diff --git a/includes/logging/PatrolLogFormatter.php b/includes/logging/PatrolLogFormatter.php index 507039bac7..2abaf17359 100644 --- a/includes/logging/PatrolLogFormatter.php +++ b/includes/logging/PatrolLogFormatter.php @@ -35,6 +35,7 @@ class PatrolLogFormatter extends LogFormatter { if ( isset( $params[5] ) && $params[5] ) { $key .= '-auto'; } + return $key; } @@ -58,6 +59,7 @@ class PatrolLogFormatter extends LogFormatter { } $params[3] = Message::rawParam( $revlink ); + return $params; } } diff --git a/includes/logging/RightsLogFormatter.php b/includes/logging/RightsLogFormatter.php index d3daf6ee6b..ac252aebc3 100644 --- a/includes/logging/RightsLogFormatter.php +++ b/includes/logging/RightsLogFormatter.php @@ -55,6 +55,7 @@ class RightsLogFormatter extends LogFormatter { if ( !isset( $params[3] ) && !isset( $params[4] ) ) { $key .= '-legacy'; } + return $key; } -- 2.20.1