summaryrefslogtreecommitdiffstats
path: root/library/Director/DataType/DataTypeString.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--library/Director/DataType/DataTypeString.php35
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;
+ }
+}