'log_deleted',
) );
- $this->addFieldsIf( 'log_id', $this->fld_ids );
- $this->addFieldsIf( 'page_id', $this->fld_ids );
- $this->addFieldsIf( 'log_user', $this->fld_user );
- $this->addFieldsIf( 'user_name', $this->fld_user );
+ $this->addFieldsIf( array( 'log_id', 'page_id' ), $this->fld_ids );
+ $this->addFieldsIf( array( 'log_user', 'user_name' ), $this->fld_user );
$this->addFieldsIf( 'user_id', $this->fld_userid );
- $this->addFieldsIf( 'log_namespace', $this->fld_title || $this->fld_parsedcomment );
- $this->addFieldsIf( 'log_title', $this->fld_title || $this->fld_parsedcomment );
+ $this->addFieldsIf( array( 'log_namespace', 'log_title' ), $this->fld_title || $this->fld_parsedcomment );
$this->addFieldsIf( 'log_comment', $this->fld_comment || $this->fld_parsedcomment );
$this->addFieldsIf( 'log_params', $this->fld_details );
list( $type, $action ) = explode( '/', $params['action'] );
$this->addWhereFld( 'log_type', $type );
$this->addWhereFld( 'log_action', $action );
- }
- else if ( !is_null( $params['type'] ) ) {
+ } elseif ( !is_null( $params['type'] ) ) {
$this->addWhereFld( 'log_type', $params['type'] );
$index['logging'] = 'type_time';
}
$count = 0;
$res = $this->select( __METHOD__ );
+ $result = $this->getResult();
foreach ( $res as $row ) {
if ( ++ $count > $limit ) {
// We've reached the one extra which shows that there are additional pages to be had. Stop here...
if ( !$vals ) {
continue;
}
- $fit = $this->getResult()->addValue( array( 'query', $this->getModuleName() ), null, $vals );
+ $fit = $result->addValue( array( 'query', $this->getModuleName() ), null, $vals );
if ( !$fit ) {
$this->setContinueEnumParameter( 'start', wfTimestamp( TS_ISO_8601, $row->log_timestamp ) );
break;
}
}
- $this->getResult()->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'item' );
+ $result->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'item' );
}
/**
* @param $result ApiResult
- * @param $vals
- * @param $params
- * @param $type
+ * @param $vals array
+ * @param $params string
+ * @param $type string
+ * @param $action string
* @param $ts
* @return array
*/
- public static function addLogParams( $result, &$vals, $params, $type, $ts ) {
+ public static function addLogParams( $result, &$vals, $params, $type, $action, $ts ) {
$params = explode( "\n", $params );
switch ( $type ) {
case 'move':
$params = null;
break;
case 'block':
+ if ( $action == 'unblock' ) {
+ break;
+ }
$vals2 = array();
list( $vals2['duration'], $vals2['flags'] ) = $params;
$vals['actionhidden'] = '';
} else {
self::addLogParams(
- $this->getResult(), $vals,
- $row->log_params, $row->log_type,
+ $this->getResult(),
+ $vals,
+ $row->log_params,
+ $row->log_type,
+ $row->log_action,
$row->log_timestamp
);
}
)
),
'type' => array(
- ApiBase::PARAM_TYPE => $wgLogTypes
+ ApiBase::PARAM_ISMULTI => true,
+ ApiBase::PARAM_TYPE => $wgLogTypes,
),
'action' => array(
ApiBase::PARAM_TYPE => array_keys( $wgLogActions )
' details - Lists addtional details about the event',
' tags - Lists tags for the event',
),
- 'type' => 'Filter log entries to only this type(s)',
+ 'type' => 'Filter log entries to only this type',
'action' => "Filter log actions to only this type. Overrides {$p}type",
'start' => 'The timestamp to start enumerating from',
'end' => 'The timestamp to end enumerating',
'dir' => $this->getDirectionDescription( $p ),
'user' => 'Filter entries to those made by the given user',
'title' => 'Filter entries to those related to a page',
- 'prefix' => 'Filter entries that start with this prefix. Disabled in MiserMode',
+ 'prefix' => 'Filter entries that start with this prefix. Disabled in Miser Mode',
'limit' => 'How many total event entries to return',
'tag' => 'Only list event entries tagged with this tag',
);
) );
}
- protected function getExamples() {
+ public function getExamples() {
return array(
'api.php?action=query&list=logevents'
);
}
+ public function getHelpUrls() {
+ return 'http://www.mediawiki.org/wiki/API:Logevents';
+ }
+
public function getVersion() {
return __CLASS__ . ': $Id$';
}