This change is needed so that filterable log types (e.g. patrol) will not get corresponding recent changes entries after running rebuildrecentchanges.php. Creation log entries will not get an RC entry regenerated either.
Bug: T20364
Change-Id: Id18364599b44d16f867f1042e1dc7e8f51b1b369
* Rebuild pass 3: Insert `recentchanges` entries for action logs.
*/
private function rebuildRecentChangesTablePass3( ILBFactory $lbFactory ) {
* Rebuild pass 3: Insert `recentchanges` entries for action logs.
*/
private function rebuildRecentChangesTablePass3( ILBFactory $lbFactory ) {
- global $wgLogRestrictions;
+ global $wgLogRestrictions, $wgFilterLogTypes;
$dbw = $this->getDB( DB_MASTER );
$commentStore = CommentStore::getStore();
$dbw = $this->getDB( DB_MASTER );
$commentStore = CommentStore::getStore();
+ $nonRCLogs = array_merge( array_keys( $wgLogRestrictions ),
+ array_keys( $wgFilterLogTypes ),
+ [ 'create' ] );
$this->output( "Loading from user, page, and logging tables...\n" );
$this->output( "Loading from user, page, and logging tables...\n" );
[
'log_timestamp > ' . $dbw->addQuotes( $dbw->timestamp( $this->cutoffFrom ) ),
'log_timestamp < ' . $dbw->addQuotes( $dbw->timestamp( $this->cutoffTo ) ),
[
'log_timestamp > ' . $dbw->addQuotes( $dbw->timestamp( $this->cutoffFrom ) ),
'log_timestamp < ' . $dbw->addQuotes( $dbw->timestamp( $this->cutoffTo ) ),
- // Some logs don't go in RC since they are private.
- // @FIXME: core/extensions also have spammy logs that don't go in RC.
- 'log_type' => array_diff( LogPage::validTypes(), array_keys( $wgLogRestrictions ) ),
+ // Some logs don't go in RC since they are private, or are included in the filterable log types.
+ 'log_type' => array_diff( LogPage::validTypes(), $nonRCLogs ),
],
__METHOD__,
[ 'ORDER BY' => 'log_timestamp DESC' ],
],
__METHOD__,
[ 'ORDER BY' => 'log_timestamp DESC' ],