From 21cc36f87ef64aa992dd08c93edca789715e4bca Mon Sep 17 00:00:00 2001 From: Matthew Flaschen Date: Thu, 3 Aug 2017 17:44:49 -0400 Subject: [PATCH] Special:Contribs: Ensure 'start' and 'end' are never undefined Bug: T172438 Change-Id: I7359fd489134cb2fff9715af9e675f8cbb706b7a --- includes/specials/SpecialContributions.php | 7 ++----- includes/specials/pagers/ContribsPager.php | 8 ++++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index 3845649314..1b14fcbe10 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -131,17 +131,14 @@ class SpecialContributions extends IncludableSpecialPage { $skip = $request->getText( 'offset' ) || $request->getText( 'dir' ) == 'prev'; # Offset overrides year/month selection - if ( $skip ) { - $this->opts['year'] = ''; - $this->opts['month'] = ''; - } else { + if ( !$skip ) { $this->opts['year'] = $request->getVal( 'year' ); $this->opts['month'] = $request->getVal( 'month' ); $this->opts['start'] = $request->getVal( 'start' ); $this->opts['end'] = $request->getVal( 'end' ); - $this->opts = ContribsPager::processDateFilter( $this->opts ); } + $this->opts = ContribsPager::processDateFilter( $this->opts ); $feedType = $request->getVal( 'feed' ); diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index 6bd7eb0e9f..d7819c42b3 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -583,10 +583,10 @@ class ContribsPager extends RangeChronologicalPager { * @return array Options array with processed start and end date filter options */ public static function processDateFilter( $opts ) { - $start = $opts['start'] ?: ''; - $end = $opts['end'] ?: ''; - $year = $opts['year'] ?: ''; - $month = $opts['month'] ?: ''; + $start = isset( $opts['start'] ) ? $opts['start'] : ''; + $end = isset( $opts['end'] ) ? $opts['end'] : ''; + $year = isset( $opts['year'] ) ? $opts['year'] : ''; + $month = isset( $opts['month'] ) ? $opts['month'] : ''; if ( $start !== '' && $end !== '' && $start > $end ) { $temp = $start; -- 2.20.1