FieldDescription = new AIFieldDescriptor(); $this->Form = $formBuilder; $this->AIFieldUtilities = new AIFieldUtilities($formBuilder); } public function GetRawDescription($fieldId, $property, $default = '') { $field = $this->Form->GetFieldById($fieldId); $fieldDescription = $this->FieldDescription->GetField($field->Options->Type); if(!isset($fieldDescription[$property])) { return $default; } return $fieldDescription[$property]; } public function GetArrayDescription($fieldId, $property, $default = []) { $field = $this->Form->GetFieldById($fieldId); $fieldDescription = $this->FieldDescription->GetField($field->Options->Type); if(!isset($fieldDescription[$property])) { return $default; } return explode(',', $fieldDescription[$property]); } public function GetFieldDataType($fieldId) { return $this->GetRawDescription($fieldId, 'datatype'); } public function ThereIsAFieldOfType($fields, $fieldTypes) { foreach($fields as $field) { $field = $this->Form->GetFieldById($field); if($field == null) continue; if(in_array($field->Options->Type, $fieldTypes)) return true; } return false; } }