summaryrefslogtreecommitdiffstats
path: root/library/Businessprocess/Web/Form/Element
diff options
context:
space:
mode:
Diffstat (limited to 'library/Businessprocess/Web/Form/Element')
-rw-r--r--library/Businessprocess/Web/Form/Element/Checkbox.php8
-rw-r--r--library/Businessprocess/Web/Form/Element/FormElement.php9
-rw-r--r--library/Businessprocess/Web/Form/Element/IplStateOverrides.php75
-rw-r--r--library/Businessprocess/Web/Form/Element/SimpleNote.php22
4 files changed, 114 insertions, 0 deletions
diff --git a/library/Businessprocess/Web/Form/Element/Checkbox.php b/library/Businessprocess/Web/Form/Element/Checkbox.php
new file mode 100644
index 0000000..7975b82
--- /dev/null
+++ b/library/Businessprocess/Web/Form/Element/Checkbox.php
@@ -0,0 +1,8 @@
+<?php
+
+namespace Icinga\Module\Businessprocess\Web\Form\Element;
+
+class Checkbox extends \Icinga\Web\Form\Element\Checkbox
+{
+
+}
diff --git a/library/Businessprocess/Web/Form/Element/FormElement.php b/library/Businessprocess/Web/Form/Element/FormElement.php
new file mode 100644
index 0000000..7647a5e
--- /dev/null
+++ b/library/Businessprocess/Web/Form/Element/FormElement.php
@@ -0,0 +1,9 @@
+<?php
+
+namespace Icinga\Module\Businessprocess\Web\Form\Element;
+
+use Zend_Form_Element_Xhtml;
+
+class FormElement extends Zend_Form_Element_Xhtml
+{
+}
diff --git a/library/Businessprocess/Web/Form/Element/IplStateOverrides.php b/library/Businessprocess/Web/Form/Element/IplStateOverrides.php
new file mode 100644
index 0000000..5b9ea16
--- /dev/null
+++ b/library/Businessprocess/Web/Form/Element/IplStateOverrides.php
@@ -0,0 +1,75 @@
+<?php
+
+namespace Icinga\Module\Businessprocess\Web\Form\Element;
+
+use ipl\Html\Attributes;
+use ipl\Html\FormElement\FieldsetElement;
+
+class IplStateOverrides extends FieldsetElement
+{
+ /** @var array */
+ protected $options = [];
+
+ /**
+ * Set the options show
+ *
+ * @param array $options
+ *
+ * @return $this
+ */
+ public function setOptions(array $options): self
+ {
+ $this->options = $options;
+
+ return $this;
+ }
+
+ /**
+ * Get the options to show
+ *
+ * @return array
+ */
+ public function getOptions(): array
+ {
+ return $this->options;
+ }
+
+ public function getValues()
+ {
+ $cleanedValue = parent::getValues();
+
+ if (! empty($cleanedValue)) {
+ foreach ($cleanedValue as $from => $to) {
+ if ((int) $from === (int) $to) {
+ unset($cleanedValue[$from]);
+ }
+ }
+ }
+
+ return $cleanedValue;
+ }
+
+ protected function assemble()
+ {
+ $states = $this->getOptions();
+ foreach ($states as $state => $label) {
+ if ($state === 0) {
+ continue;
+ }
+
+ $this->addElement('select', $state, [
+ 'label' => $label,
+ 'value' => $state,
+ 'options' => [$state => $this->translate('Keep actual state')] + $states
+ ]);
+ }
+ }
+
+ protected function registerAttributeCallbacks(Attributes $attributes)
+ {
+ parent::registerAttributeCallbacks($attributes);
+
+ $this->getAttributes()
+ ->registerAttributeCallback('options', null, [$this, 'setOptions']);
+ }
+}
diff --git a/library/Businessprocess/Web/Form/Element/SimpleNote.php b/library/Businessprocess/Web/Form/Element/SimpleNote.php
new file mode 100644
index 0000000..9f757f2
--- /dev/null
+++ b/library/Businessprocess/Web/Form/Element/SimpleNote.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Icinga\Module\Businessprocess\Web\Form\Element;
+
+class SimpleNote extends FormElement
+{
+ public $helper = 'formSimpleNote';
+
+ /**
+ * Always ignore this element
+ * @codingStandardsIgnoreStart
+ *
+ * @var boolean
+ */
+ protected $_ignore = true;
+ // @codingStandardsIgnoreEnd
+
+ public function isValid($value, $context = null)
+ {
+ return true;
+ }
+}