| @@ -250,15 +250,20 @@ | ||
| 250 | 250 | { |
| 251 | 251 | $setting = $this->settings[$key] ?? null; |
| 252 | 252 | |
| 253 | 253 | if ($setting) { |
| 254 | - $method = $setting['rule'] ?? null; | |
| 254 | + switch ($setting['rule'] ?? null) { | |
| 255 | + case 'is_bool': | |
| 256 | + return is_bool($value) || in_array($value, [0, 1, '0', '1', ''], true); | |
| 255 | 257 | |
| 256 | - if ($method == 'is_bool') { | |
| 257 | - return $method((bool)$value); | |
| 258 | + case 'is_array': | |
| 259 | + return is_array($value); | |
| 260 | + | |
| 261 | + case 'is_string': | |
| 262 | + return is_string($value); | |
| 258 | 263 | } |
| 259 | 264 | |
| 260 | - return $method($value); | |
| 265 | + return false; | |
| 261 | 266 | } |
| 262 | 267 | |
| 263 | 268 | return true; |
| 264 | 269 | } |