From: Roan Kattouw Date: Mon, 17 Jul 2017 23:52:51 +0000 (-0700) Subject: ChangesListStringOptionsFilter: Make isSelected() respect ALL X-Git-Tag: 1.31.0-rc.0~2690^2 X-Git-Url: http://git.cyclocoop.org/data/Fool?a=commitdiff_plain;h=59c94b1c9d51d013d40f38f20318d4d050e48f0d;p=lhc%2Fweb%2Fwiklou.git ChangesListStringOptionsFilter: Make isSelected() respect ALL ChangesListStringOptionsGroup::modifyQuery checks for ALL and behaves accordingly, but isSelected() didn't. This broke conflict detection when an entire non-full-coverage group was selected. Bug: T162630 Change-Id: Ie241744201380ca5450d5edbb3eba971194f3df4 --- diff --git a/includes/changes/ChangesListStringOptionsFilter.php b/includes/changes/ChangesListStringOptionsFilter.php index 6754d679f9..76d0bef155 100644 --- a/includes/changes/ChangesListStringOptionsFilter.php +++ b/includes/changes/ChangesListStringOptionsFilter.php @@ -19,10 +19,12 @@ class ChangesListStringOptionsFilter extends ChangesListFilter { * @inheritdoc */ public function isSelected( FormOptions $opts ) { - $values = explode( - ChangesListStringOptionsFilterGroup::SEPARATOR, - $opts[ $this->getGroup()->getName() ] - ); + $option = $opts[ $this->getGroup()->getName() ]; + if ( $option === ChangesListStringOptionsFilterGroup::ALL ) { + return true; + } + + $values = explode( ChangesListStringOptionsFilterGroup::SEPARATOR, $option ); return in_array( $this->getName(), $values ); } }