X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fapi%2FApiQueryDeletedrevs.php;h=5dd007b49aeb3bc597ff1f10edef78ea2ad62c80;hp=295915120fefbdebff4e9a78f6e127ce2bbad3f3;hb=2480aae0c97d822e10b50619e7b48b25c45af073;hpb=4c5e3357f16be0d2e05bbd27d6cdcae148581b8b diff --git a/includes/api/ApiQueryDeletedrevs.php b/includes/api/ApiQueryDeletedrevs.php index 295915120f..5dd007b49a 100644 --- a/includes/api/ApiQueryDeletedrevs.php +++ b/includes/api/ApiQueryDeletedrevs.php @@ -44,6 +44,7 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $user = $this->getUser(); $db = $this->getDB(); + $commentStore = new CommentStore( 'ar_comment' ); $params = $this->extractRequestParams( false ); $prop = array_flip( $params['prop'] ); $fld_parentid = isset( $prop['parentid'] ); @@ -115,11 +116,17 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $this->addFieldsIf( 'ar_rev_id', $fld_revid ); $this->addFieldsIf( 'ar_user_text', $fld_user ); $this->addFieldsIf( 'ar_user', $fld_userid ); - $this->addFieldsIf( 'ar_comment', $fld_comment || $fld_parsedcomment ); $this->addFieldsIf( 'ar_minor_edit', $fld_minor ); $this->addFieldsIf( 'ar_len', $fld_len ); $this->addFieldsIf( 'ar_sha1', $fld_sha1 ); + if ( $fld_comment || $fld_parsedcomment ) { + $commentQuery = $commentStore->getJoin(); + $this->addTables( $commentQuery['tables'] ); + $this->addFields( $commentQuery['fields'] ); + $this->addJoinConds( $commentQuery['joins'] ); + } + if ( $fld_tags ) { $this->addTables( 'tag_summary' ); $this->addJoinConds( @@ -250,7 +257,7 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $this->addOption( 'LIMIT', $limit + 1 ); $this->addOption( 'USE INDEX', - [ 'archive' => ( $mode == 'user' ? 'usertext_timestamp' : 'name_title_timestamp' ) ] + [ 'archive' => ( $mode == 'user' ? 'ar_usertext_timestamp' : 'name_title_timestamp' ) ] ); if ( $mode == 'all' ) { if ( $params['unique'] ) { @@ -322,12 +329,13 @@ class ApiQueryDeletedrevs extends ApiQueryBase { $anyHidden = true; } if ( Revision::userCanBitfield( $row->ar_deleted, Revision::DELETED_COMMENT, $user ) ) { + $comment = $commentStore->getComment( $row )->text; if ( $fld_comment ) { - $rev['comment'] = $row->ar_comment; + $rev['comment'] = $comment; } if ( $fld_parsedcomment ) { $title = Title::makeTitle( $row->ar_namespace, $row->ar_title ); - $rev['parsedcomment'] = Linker::formatComment( $row->ar_comment, $title ); + $rev['parsedcomment'] = Linker::formatComment( $comment, $title ); } } } @@ -505,6 +513,6 @@ class ApiQueryDeletedrevs extends ApiQueryBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Deletedrevs'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Deletedrevs'; } }