ApiQueryRecentChanges: Fetch comment fields if rctoken is used

When the deprecated rctoken parameter is used, the module calls
RecentChange::newFromRow(), which now requires that the comment fields
be present.

Bug: T175307
Change-Id: Ida025f419e43809c34fff386f1a1ee8881393b80
This commit is contained in:
Brad Jorsch 2017-09-07 16:58:57 -04:00
parent def2d4b733
commit 5ec0132821

View file

@ -287,14 +287,6 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
);
$showRedirects = $this->fld_redirect || isset( $show['redirect'] )
|| isset( $show['!redirect'] );
if ( $this->fld_comment || $this->fld_parsedcomment ) {
$this->commentStore = new CommentStore( 'rc_comment' );
$commentQuery = $this->commentStore->getJoin();
$this->addTables( $commentQuery['tables'] );
$this->addFields( $commentQuery['fields'] );
$this->addJoinConds( $commentQuery['joins'] );
}
}
$this->addFieldsIf( [ 'rc_this_oldid' ],
$resultPageSet && $params['generaterevisions'] );
@ -360,6 +352,15 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
}
$this->token = $params['token'];
if ( $this->fld_comment || $this->fld_parsedcomment || $this->token ) {
$this->commentStore = new CommentStore( 'rc_comment' );
$commentQuery = $this->commentStore->getJoin();
$this->addTables( $commentQuery['tables'] );
$this->addFields( $commentQuery['fields'] );
$this->addJoinConds( $commentQuery['joins'] );
}
$this->addOption( 'LIMIT', $params['limit'] + 1 );
$hookData = [];