From d9022f63880ce039446fba8364f68e656b7bf4cb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 3 May 2012 13:01:35 +0200 Subject: Update to MediaWiki 1.19.0 --- includes/api/ApiQueryLogEvents.php | 50 ++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 18 deletions(-) (limited to 'includes/api/ApiQueryLogEvents.php') diff --git a/includes/api/ApiQueryLogEvents.php b/includes/api/ApiQueryLogEvents.php index 669ab71f..0d07a254 100644 --- a/includes/api/ApiQueryLogEvents.php +++ b/includes/api/ApiQueryLogEvents.php @@ -24,11 +24,6 @@ * @file */ -if ( !defined( 'MEDIAWIKI' ) ) { - // Eclipse helper - will be ignored in production - require_once( 'ApiQueryBase.php' ); -} - /** * Query action to List the log events, with optional filtering by various parameters. * @@ -202,26 +197,44 @@ class ApiQueryLogEvents extends ApiQueryBase { * @param $ts * @return array */ - public static function addLogParams( $result, &$vals, $params, $type, $action, $ts ) { - $params = explode( "\n", $params ); + public static function addLogParams( $result, &$vals, $params, $type, $action, $ts, $legacy = false ) { switch ( $type ) { case 'move': - if ( isset( $params[0] ) ) { - $title = Title::newFromText( $params[0] ); + if ( $legacy ){ + $targetKey = 0; + $noredirKey = 1; + } else { + $targetKey = '4::target'; + $noredirKey = '5::noredir'; + } + + if ( isset( $params[ $targetKey ] ) ) { + $title = Title::newFromText( $params[ $targetKey ] ); if ( $title ) { $vals2 = array(); ApiQueryBase::addTitleInfo( $vals2, $title, 'new_' ); $vals[$type] = $vals2; } } - if ( isset( $params[1] ) && $params[1] ) { + if ( isset( $params[ $noredirKey ] ) && $params[ $noredirKey ] ) { $vals[$type]['suppressedredirect'] = ''; } $params = null; break; case 'patrol': + if ( $legacy ){ + $cur = 0; + $prev = 1; + $auto = 2; + } else { + $cur = '4::curid'; + $prev = '5::previd'; + $auto = '6::auto'; + } $vals2 = array(); - list( $vals2['cur'], $vals2['prev'], $vals2['auto'] ) = $params; + $vals2['cur'] = $params[$cur]; + $vals2['prev'] = $params[$prev]; + $vals2['auto'] = $params[$auto]; $vals[$type] = $vals2; $params = null; break; @@ -255,6 +268,7 @@ class ApiQueryLogEvents extends ApiQueryBase { } private function extractRowInfo( $row ) { + $logEntry = DatabaseLogEntry::newFromRow( $row ); $vals = array(); if ( $this->fld_ids ) { @@ -286,10 +300,11 @@ class ApiQueryLogEvents extends ApiQueryBase { self::addLogParams( $this->getResult(), $vals, - $row->log_params, - $row->log_type, - $row->log_action, - $row->log_timestamp + $logEntry->getParameters(), + $logEntry->getType(), + $logEntry->getSubtype(), + $logEntry->getTimestamp(), + $logEntry->isLegacy() ); } } @@ -323,8 +338,7 @@ class ApiQueryLogEvents extends ApiQueryBase { } if ( $this->fld_parsedcomment ) { - global $wgUser; - $vals['parsedcomment'] = $wgUser->getSkin()->formatComment( $row->log_comment, $title ); + $vals['parsedcomment'] = Linker::formatComment( $row->log_comment, $title ); } } } @@ -445,7 +459,7 @@ class ApiQueryLogEvents extends ApiQueryBase { ) ); } - protected function getExamples() { + public function getExamples() { return array( 'api.php?action=query&list=logevents' ); -- cgit v1.2.3-54-g00ecf