summaryrefslogtreecommitdiff
path: root/includes/api/ApiQueryLogEvents.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2012-05-03 13:01:35 +0200
committerPierre Schmitz <pierre@archlinux.de>2012-05-03 13:01:35 +0200
commitd9022f63880ce039446fba8364f68e656b7bf4cb (patch)
tree16b40fbf17bf7c9ee6f4ead25b16dd192378050a /includes/api/ApiQueryLogEvents.php
parent27cf83d177256813e2e802241085fce5dd0f3fb9 (diff)
Update to MediaWiki 1.19.0
Diffstat (limited to 'includes/api/ApiQueryLogEvents.php')
-rw-r--r--includes/api/ApiQueryLogEvents.php50
1 files changed, 32 insertions, 18 deletions
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'
);