diff options
Diffstat (limited to '')
-rw-r--r-- | library/Director/DataType/DataTypeString.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/library/Director/DataType/DataTypeString.php b/library/Director/DataType/DataTypeString.php new file mode 100644 index 0000000..a2dc196 --- /dev/null +++ b/library/Director/DataType/DataTypeString.php @@ -0,0 +1,35 @@ +<?php + +namespace Icinga\Module\Director\DataType; + +use Icinga\Module\Director\Hook\DataTypeHook; +use Icinga\Module\Director\Web\Form\QuickForm; + +class DataTypeString extends DataTypeHook +{ + public function getFormElement($name, QuickForm $form) + { + if ($this->getSetting('visibility', 'visible') === 'visible') { + $element = $form->createElement('text', $name); + } else { + $element = $form->createElement('storedPassword', $name); + } + + return $element; + } + + public static function addSettingsFormFields(QuickForm $form) + { + $form->addElement('select', 'visibility', [ + 'label' => $form->translate('Visibility'), + 'multiOptions' => $form->optionalEnum([ + 'visible' => $form->translate('Visible'), + 'hidden' => $form->translate('Hidden'), + ]), + 'value' => 'visible', + 'required' => true, + ]); + + return $form; + } +} |