/** * @see Form::createElemeents() */ public function createElements(array $formData) { $resourceType = isset($formData['type']) ? $formData['type'] : 'db'; $resourceTypes = array('file' => $this->translate('File'), 'livestatus' => 'Livestatus', 'ssh' => $this->translate('SSH Identity')); if ($resourceType === 'ldap' || Platform::hasLdapSupport()) { $resourceTypes['ldap'] = 'LDAP'; } if ($resourceType === 'db' || Platform::hasDatabaseSupport()) { $resourceTypes['db'] = $this->translate('SQL Database'); } $this->addElement('select', 'type', array('required' => true, 'autosubmit' => true, 'label' => $this->translate('Resource Type'), 'description' => $this->translate('The type of resource'), 'multiOptions' => $resourceTypes, 'value' => $resourceType)); if (isset($formData['force_creation']) && $formData['force_creation']) { // In case another error occured and the checkbox was displayed before $this->addElement($this->getForceCreationCheckbox()); } $this->addElements($this->getResourceForm($resourceType)->createElements($formData)->getElements()); }