PluginProbe
User Access Manager / 2.3.17
User Access Manager v2.3.17
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / Config / BooleanConfigParameter.php

BooleanConfigParameter.php in User Access Manager 2.3.17, at src/Config/BooleanConfigParameter.php

41 lines 860 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace UserAccessManager\Config;
6
7 use Exception;
8
9 class BooleanConfigParameter extends ConfigParameter
10 {
11 /**
12 * @throws Exception
13 */
14 public function __construct(string $id, $defaultValue = false)
15 {
16 parent::__construct($id, $defaultValue);
17 }
18
19 private function valueToBoolConverter(mixed $value): mixed
20 {
21 if (in_array($value, [1, '1', 'true'], true)) {
22 $value = true;
23 } elseif (in_array($value, [0, '0', 'false'], true)) {
24 $value = false;
25 }
26
27 return $value;
28 }
29
30 public function setValue(mixed $value): void
31 {
32 $value = (bool) $this->valueToBoolConverter($value);
33 parent::setValue($value);
34 }
35
36 public function isValidValue(mixed $value): bool
37 {
38 return is_bool($value) === true;
39 }
40 }
41