public function displaySettingsPanel(XMLElement &$wrapper, $errors = NULL) { Field::displaySettingsPanel($wrapper, $errors); $group = new XMLElement('div', null, array('class' => 'two columns')); $label = new XMLElement('label', __('Available Zones')); $label->setAttribute('class', 'column'); $zones = is_array($this->get('available_zones')) ? $this->get('available_zones') : explode(',', $this->get('available_zones')); foreach (DateTimeObj::getZones() as $zone => $value) { if ($value >= 1024) { break; } $options[] = array($zone, in_array($zone, $zones), ucwords(strtolower($zone))); } $label->appendChild(Widget::Select("fields[{$this->get('sortorder')}][available_zones][]", $options, array('multiple' => 'multiple'))); $group->appendChild($label); $wrapper->appendChild($group); $div = new XMLElement('div', null, array('class' => 'two columns')); $this->appendRequiredCheckbox($div); $this->appendShowColumnCheckbox($div); $wrapper->appendChild($div); }