From 644131fbc6286a1497dc6d54385ccae45d5118ee Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 10 Aug 2006 08:00:53 +0000 Subject: [PATCH] Fixed PreferencesForm::validateDate(). --- includes/SpecialPreferences.php | 15 ++++++++++----- languages/Language.php | 5 +++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/includes/SpecialPreferences.php b/includes/SpecialPreferences.php index c0177f3946..ba93e8768c 100644 --- a/includes/SpecialPreferences.php +++ b/includes/SpecialPreferences.php @@ -156,11 +156,16 @@ class PreferencesForm { /** * @access private */ - function validateDate( &$val, $min = 0, $max=0x7fffffff ) { - if ( ( sprintf('%d', $val) === $val && $val >= $min && $val <= $max ) || $val == 'ISO 8601' ) + function validateDate( $val ) { + global $wgLang, $wgContLang; + if ( $val !== false && ( + in_array( $val, (array)$wgLang->getDatePreferences() ) || + in_array( $val, (array)$wgContLang->getDatePreferences() ) ) ) + { return $val; - else - return 0; + } else { + return $wgLang->getDefaultDateFormat(); + } } /** @@ -257,7 +262,7 @@ class PreferencesForm { if( $wgUseTeX ) { $wgUser->setOption( 'math', $this->mMath ); } - $wgUser->setOption( 'date', $this->validateDate( $this->mDate, 0, 20 ) ); + $wgUser->setOption( 'date', $this->validateDate( $this->mDate ) ); $wgUser->setOption( 'searchlimit', $this->validateIntOrNull( $this->mSearch ) ); $wgUser->setOption( 'contextlines', $this->validateIntOrNull( $this->mSearchLines ) ); $wgUser->setOption( 'contextchars', $this->validateIntOrNull( $this->mSearchChars ) ); diff --git a/languages/Language.php b/languages/Language.php index 49a3bff56e..2644e5847e 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -276,6 +276,11 @@ class Language { return $this->dateFormats; } + function getDefaultDateFormat() { + $this->load(); + return $this->defaultDateFormat; + } + function getDatePreferenceMigrationMap() { $this->load(); return $this->datePreferenceMigrationMap; -- 2.20.1