public function __construct($name, $title = null, $value = null, $modifier = null) { $this->name = $name . '[' . $modifier . ']'; $this->setTitle($title); $this->modifier = $modifier; $dayArray = array(0 => 'Day'); for ($i = 1; $i < 32; $i++) { if ($i < 10) { $dayArray['0' . $i] = $i; } else { $dayArray[$i] = $i; } } $monthArray = array('0' => 'Month', '01' => 'Jan', '02' => 'Feb', '03' => 'March', '04' => 'Apr', '05' => 'May', '06' => 'June', '07' => 'July', '08' => 'Aug', '09' => 'Sept', '10' => 'Oct', '11' => 'Nov', '12' => 'Dec'); $now = new DateTime(); $startYear = $now->format('Y'); $endYear = $startYear - 105; $yearArray = array(0 => 'Year'); for ($i = $startYear; $i >= $endYear; $i--) { $yearArray[$i] = $i; } $fields = array($this->day = new DropdownField($this->name . '[Day]', '', $dayArray), $this->month = new DropdownField($this->name . '[Month]', '', $monthArray), $this->year = new DropdownField($this->name . '[Year]', '', $yearArray)); foreach ($fields as $field) { $field->addExtraClass('dateselectorfield'); } if ($title) { if ($this->useHeading) { array_unshift($fields, $header = new HeaderField($this->name . $this->modifier . 'Title', trim($title . ' ' . $this->modifier), 4)); $header->setAllowHTML(true); } else { array_unshift($fields, new LiteralField($this->name . $this->modifier . 'Title', '<label class="left" for="' . $this->name . '">' . trim($title . ' ' . $this->modifier) . '</label>')); } } Requirements::css('datedropdownselectorfield/css/admin.css'); parent::__construct($fields); $this->setValue($value); }