[MediaWiki-commits] [Gerrit] mediawiki/core[master]: ChangesListSpecialPage: Add urlversion and make urlversion=2...

2017-06-14 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
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(-)

Approvals:
  jenkins-bot: Verified
  Mooeypoo: Looks good to me, approved



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: merged
Gerrit-Change-Id: Iaf33c14e3f909092d96453e78016814aa417673a
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Catrope 
Gerrit-Reviewer: Mattflaschen 
Gerrit-Reviewer: Mooeypoo 
Gerrit-Reviewer: jenkins-bot <>

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


[MediaWiki-commits] [Gerrit] mediawiki/core[master]: ChangesListSpecialPage: Add urlversion and make urlversion=2...

2017-06-09 Thread Catrope (Code Review)
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 

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