Catrope has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/358157 )

Change subject: ChangesListSpecialPage: Add urlversion and make urlversion=2 
ignore defaults
......................................................................

ChangesListSpecialPage: Add urlversion and make urlversion=2 ignore defaults

This allows us to build reliable URLs that will be consistent over time
and between users (because the defaults depend on preferences,
extension presence, etC) by using urlversion=2 and specifying the
state of each filter relative to the empty state (i.e. nothing enabled).

urlversion defaults to 1, and urlversion=1 maintains the current
behavior where the parameters are interpreted relative to the
user's default state.

Bug: T166906
Change-Id: Iaf33c14e3f909092d96453e78016814aa417673a
---
M includes/specialpage/ChangesListSpecialPage.php
1 file changed, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/57/358157/1

diff --git a/includes/specialpage/ChangesListSpecialPage.php 
b/includes/specialpage/ChangesListSpecialPage.php
index 09ed3c4..1b561ef 100644
--- a/includes/specialpage/ChangesListSpecialPage.php
+++ b/includes/specialpage/ChangesListSpecialPage.php
@@ -791,16 +791,18 @@
                $config = $this->getConfig();
                $opts = new FormOptions();
                $structuredUI = $this->getUser()->getOption( 
'rcenhancedfilters' );
+               // If urlversion=2 is set, ignore the filter defaults and set 
them all to false/empty
+               $useDefaults = $this->getRequest()->getInt( 'urlversion' ) !== 
2;
 
                // Add all filters
                foreach ( $this->filterGroups as $filterGroup ) {
                        // URL parameters can be per-group, like 'userExpLevel',
                        // or per-filter, like 'hideminor'.
                        if ( $filterGroup->isPerGroupRequestParameter() ) {
-                               $opts->add( $filterGroup->getName(), 
$filterGroup->getDefault() );
+                               $opts->add( $filterGroup->getName(), 
$useDefaults ? $filterGroup->getDefault() : '' );
                        } else {
                                foreach ( $filterGroup->getFilters() as $filter 
) {
-                                       $opts->add( $filter->getName(), 
$filter->getDefault( $structuredUI ) );
+                                       $opts->add( $filter->getName(), 
$useDefaults ? $filter->getDefault( $structuredUI ) : false );
                                }
                        }
                }
@@ -808,6 +810,7 @@
                $opts->add( 'namespace', '', FormOptions::STRING );
                $opts->add( 'invert', false );
                $opts->add( 'associated', false );
+               $opts->add( 'urlversion', 1 );
 
                return $opts;
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/358157
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf33c14e3f909092d96453e78016814aa417673a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Catrope <r...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to