public function Field($properties = array()) { $fields = new FieldGroup($this->name); $fields->setID("{$this->name}_Holder"); list($countryCode, $areaCode, $phoneNumber, $extension) = $this->parseValue(); if ($this->value == "") { $countryCode = $this->countryCode; $areaCode = $this->areaCode; $extension = $this->ext; } if ($this->countryCode !== null) { $fields->push(new NumericField($this->name . '[Country]', '+', $countryCode, 4)); } if ($this->areaCode !== null) { $fields->push(new NumericField($this->name . '[Area]', '(', $areaCode, 4)); $fields->push(new NumericField($this->name . '[Number]', ')', $phoneNumber, 10)); } else { $fields->push(new NumericField($this->name . '[Number]', '', $phoneNumber, 10)); } if ($this->ext !== null) { $fields->push(new NumericField($this->name . '[Extension]', 'ext', $extension, 6)); } $description = $this->getDescription(); if ($description) { $fields->getChildren()->First()->setDescription($description); } foreach ($fields as $field) { $field->setDisabled($this->isDisabled()); $field->setReadonly($this->isReadonly()); } return $fields; }