From 498c075ece581919930dc9634682e90584877989 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 14 Apr 2010 04:39:36 +0000 Subject: [PATCH] ENHANCEMENT Allow locale/dateformat specific reordering of day, month, year input fields in DateField (from r99361) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102860 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- forms/DateField.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/forms/DateField.php b/forms/DateField.php index 50077d9d6..848ca3d94 100755 --- a/forms/DateField.php +++ b/forms/DateField.php @@ -48,6 +48,7 @@ class DateField extends TextField { protected $config = array( 'showcalendar' => false, 'dmyfields' => false, + 'dmyseparator' => ' / ', 'dateformat' => null, 'datavalueformat' => 'yyyy-MM-dd', 'min' => null, @@ -101,13 +102,15 @@ class DateField extends TextField { $fieldYear->addExtraClass('year'); $fieldYear->setMaxLength(4); - // TODO Locale specific ordering of fields - $sep = ' / '; - $html = $fieldDay->Field() . - $sep . - $fieldMonth->Field() . - $sep . - $fieldYear->Field(); + // order fields depending on format + $sep = $this->getConfig('dmyseparator'); + $format = $this->getConfig('dateformat'); + $fields = array(); + $fields[stripos($format, 'd')] = $fieldDay->Field(); + $fields[stripos($format, 'm')] = $fieldMonth->Field(); + $fields[stripos($format, 'y')] = $fieldYear->Field(); + ksort($fields); + $html = implode($sep, $fields); } // Default text input field else {