$showRedirects = $this->fld_redirect || isset( $show['redirect'] )
|| isset( $show['!redirect'] );
}
+ $this->addFieldsIf( array( 'rc_this_oldid' ),
+ $resultPageSet && $params['generaterevisions'] );
if ( $this->fld_tags ) {
$this->addTables( 'tag_summary' );
/* Perform the actual query. */
$res = $this->select( __METHOD__ );
+ $revids = array();
$titles = array();
$result = $this->getResult();
$this->setContinueEnumParameter( 'continue', "$row->rc_timestamp|$row->rc_id" );
break;
}
+ } elseif ( $params['generaterevisions'] ) {
+ $revid = (int)$row->rc_this_oldid;
+ if ( $revid > 0 ) {
+ $revids[] = $revid;
+ }
} else {
$titles[] = Title::makeTitle( $row->rc_namespace, $row->rc_title );
}
if ( is_null( $resultPageSet ) ) {
/* Format the result */
$result->addIndexedTagName( array( 'query', $this->getModuleName() ), 'rc' );
+ } elseif ( $params['generaterevisions'] ) {
+ $resultPageSet->populateFromRevisionIDs( $revids );
} else {
$resultPageSet->populateFromTitles( $titles );
}
ApiBase::PARAM_MAX2 => ApiBase::LIMIT_BIG2
),
'type' => array(
- ApiBase::PARAM_DFLT => 'edit|new|log',
+ ApiBase::PARAM_DFLT => 'edit|new|log|categorize',
ApiBase::PARAM_ISMULTI => true,
- ApiBase::PARAM_TYPE => array(
- 'edit',
- 'external',
- 'new',
- 'log'
- )
+ ApiBase::PARAM_TYPE => RecentChange::getChangeTypes()
),
'toponly' => false,
'continue' => array(
ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
),
+ 'generaterevisions' => false,
);
}