git subrepo commit (merge) mailcow/src/mailcow-dockerized
subrepo: subdir: "mailcow/src/mailcow-dockerized"
merged: "02ae5285"
upstream: origin: "https://github.com/mailcow/mailcow-dockerized.git"
branch: "master"
commit: "649a5c01"
git-subrepo: version: "0.4.3"
origin: "???"
commit: "???"
Change-Id: I870ad468fba026cc5abf3c5699ed1e12ff28b32b
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php
new file mode 100644
index 0000000..4aa43ed
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/ArrayValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class ArrayValidator extends Validator
+{
+ /**
+ * The validation exception message.
+ *
+ * @var string
+ */
+ protected $message = 'Option [:option] must be an array.';
+
+ /**
+ * @inheritdoc
+ */
+ public function passes()
+ {
+ return is_array($this->value);
+ }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php
new file mode 100644
index 0000000..1d25a4b
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/BooleanValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class BooleanValidator extends Validator
+{
+ /**
+ * The validation exception message.
+ *
+ * @var string
+ */
+ protected $message = 'Option [:option] must be a boolean.';
+
+ /**
+ * @inheritdoc
+ */
+ public function passes()
+ {
+ return is_bool($this->value);
+ }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php
new file mode 100644
index 0000000..5c4f0f9
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/IntegerValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class IntegerValidator extends Validator
+{
+ /**
+ * The validation exception message.
+ *
+ * @var string
+ */
+ protected $message = 'Option [:option] must be an integer.';
+
+ /**
+ * @inheritdoc
+ */
+ public function passes()
+ {
+ return is_numeric($this->value);
+ }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php
new file mode 100644
index 0000000..bc23372
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/StringOrNullValidator.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+class StringOrNullValidator extends Validator
+{
+ /**
+ * The validation exception message.
+ *
+ * @var string
+ */
+ protected $message = 'Option [:option] must be a string or null.';
+
+ /**
+ * @inheritdoc
+ */
+ public function passes()
+ {
+ return is_string($this->value) || is_null($this->value);
+ }
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php
new file mode 100644
index 0000000..908a639
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Configuration/Validators/Validator.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace LdapRecord\Configuration\Validators;
+
+use LdapRecord\Configuration\ConfigurationException;
+
+abstract class Validator
+{
+ /**
+ * The configuration key under validation.
+ *
+ * @var string
+ */
+ protected $key;
+
+ /**
+ * The configuration value under validation.
+ *
+ * @var mixed
+ */
+ protected $value;
+
+ /**
+ * The validation exception message.
+ *
+ * @var string
+ */
+ protected $message;
+
+ /**
+ * Constructor.
+ *
+ * @param string $key
+ * @param mixed $value
+ */
+ public function __construct($key, $value)
+ {
+ $this->key = $key;
+ $this->value = $value;
+ }
+
+ /**
+ * Determine if the validation rule passes.
+ *
+ * @return bool
+ */
+ abstract public function passes();
+
+ /**
+ * Validate the configuration value.
+ *
+ * @throws ConfigurationException
+ *
+ * @return bool
+ */
+ public function validate()
+ {
+ if (! $this->passes()) {
+ $this->fail();
+ }
+
+ return true;
+ }
+
+ /**
+ * Throw a configuration exception.
+ *
+ * @throws ConfigurationException
+ *
+ * @return void
+ */
+ protected function fail()
+ {
+ throw new ConfigurationException(
+ str_replace(':option', $this->key, $this->message)
+ );
+ }
+}