From: Stephane Bisson Date: Thu, 21 Sep 2017 20:17:22 +0000 (-0400) Subject: RCFilters: Make 'lastRevision' filter include non-rev types X-Git-Tag: 1.31.0-rc.0~1990^2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=5c499174ce08b993a0d72ae3a94d7acb7a5c2765;p=lhc%2Fweb%2Fwiklou.git RCFilters: Make 'lastRevision' filter include non-rev types Make 'lastRevision' filter behave like its predecessor (expanded) by including the non-rev types (RC_LOG and others added via hook). Bug: T176328 Change-Id: I2312fd536716f0b07637ed4caf225650a4ffe70c --- diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index dd0dd92a98..d3be680e4d 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -84,6 +84,9 @@ abstract class ChangesListSpecialPage extends SpecialPage { public function __construct( $name, $restriction ) { parent::__construct( $name, $restriction ); + $nonRevisionTypes = [ RC_LOG ]; + Hooks::run( 'SpecialWatchlistGetNonRevisionTypes', [ &$nonRevisionTypes ] ); + $this->filterGroupDefinitions = [ [ 'name' => 'registration', @@ -322,8 +325,14 @@ abstract class ChangesListSpecialPage extends SpecialPage { 'description' => 'rcfilters-filter-lastrevision-description', 'default' => false, 'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds, - &$query_options, &$join_conds ) { - $conds[] = 'rc_this_oldid <> page_latest'; + &$query_options, &$join_conds ) use ( $nonRevisionTypes ) { + $conds[] = $dbr->makeList( + [ + 'rc_this_oldid <> page_latest', + 'rc_type' => $nonRevisionTypes, + ], + LIST_OR + ); }, 'cssClassSuffix' => 'last', 'isRowApplicableCallable' => function ( $ctx, $rc ) { @@ -336,8 +345,14 @@ abstract class ChangesListSpecialPage extends SpecialPage { 'description' => 'rcfilters-filter-previousrevision-description', 'default' => false, 'queryCallable' => function ( $specialClassName, $ctx, $dbr, &$tables, &$fields, &$conds, - &$query_options, &$join_conds ) { - $conds[] = 'rc_this_oldid = page_latest'; + &$query_options, &$join_conds ) use ( $nonRevisionTypes ) { + $conds[] = $dbr->makeList( + [ + 'rc_this_oldid = page_latest', + 'rc_type' => $nonRevisionTypes, + ], + LIST_OR + ); }, 'cssClassSuffix' => 'previous', 'isRowApplicableCallable' => function ( $ctx, $rc ) {