function testMDYFormat() { /* We get MM-DD-YYYY format as the data value for YYYY-MM-DD input value */ $dateField = new LegacyDateField('Date', 'Date', '03/04/2003'); $this->assertEquals($dateField->dataValue(), '2003-04-03'); /* Even if input value hasn't got leading 0's in it we still get the correct data value */ $dateField2 = new LegacyDateField('Date', 'Date', '3/4/03'); $this->assertEquals($dateField2->dataValue(), '03-4-3'); }
function setForm($form) { $this->dateDropdown->setForm($form); $this->monthDropdown->setForm($form); $this->yearDropdown->setForm($form); parent::setForm($form); }
function Field() { Requirements::javascript(SAPPHIRE_DIR . "/javascript/CalendarDateField.js"); $field = LegacyDateField::Field(); $id = $this->id(); $val = $this->attrValue(); if (preg_match('/^\\d{2}\\/\\d{2}\\/\\d{4}$/', $val)) { $dateArray = explode('/', $val); $val = $dateArray[2] . '-' . $dateArray[1] . '-' . $dateArray[0]; } $day = $month = $year = null; if ($val) { $dateArray = explode('-', $val); $day = $dateArray[2]; $month = $dateArray[1]; $year = $dateArray[0]; } $fieldName = $this->name; return <<<HTML \t\t\t<div class="dmycalendardate"> \t\t\t\t<input type="text" id="{$id}-day" class="day" name="{$fieldName}[Day]" value="{$day}" maxlength="2" />/ \t\t\t\t<input type="text" id="{$id}-month" class="month" name="{$fieldName}[Month]" value="{$month}" maxlength="2" />/ \t\t\t\t<input type="text" id="{$id}-year" class="year" name="{$fieldName}[Year]" value="{$year}" maxlength="4" /> \t\t\t\t<div class="calendarpopup" id="{$id}-calendar"></div> \t\t\t</div> HTML; }