Merge "getConfiguration: Don't bail when a valid variable is set null"
[lhc/web/wiklou.git] / includes / specialpage / ChangesListSpecialPage.php
index dd0dd92..d7519d3 100644 (file)
@@ -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 ) {
@@ -600,14 +615,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                                )
                        );
 
-                       $experimentalStructuredChangeFilters =
-                               $this->getConfig()->get( 'StructuredChangeFiltersEnableExperimentalViews' );
-
                        $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] );
-                       $out->addJsConfigVars(
-                               'wgStructuredChangeFiltersEnableExperimentalViews',
-                               $experimentalStructuredChangeFilters
-                       );
 
                        $out->addJsConfigVars(
                                'wgRCFiltersChangeTags',
@@ -624,6 +632,11 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                                ]
                        );
 
+                       $out->addJsConfigVars(
+                               'StructuredChangeFiltersLiveUpdatePollingRate',
+                               $this->getConfig()->get( 'StructuredChangeFiltersLiveUpdatePollingRate' )
+                       );
+
                        if ( static::$savedQueriesPreferenceName ) {
                                $savedQueries = FormatJson::decode(
                                        $this->getUser()->getOption( static::$savedQueriesPreferenceName )