diff options
Diffstat (limited to 'modules-available/debugconfig/inc/validator.inc.php')
-rw-r--r-- | modules-available/debugconfig/inc/validator.inc.php | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/modules-available/debugconfig/inc/validator.inc.php b/modules-available/debugconfig/inc/validator.inc.php deleted file mode 100644 index ec7b95aa..00000000 --- a/modules-available/debugconfig/inc/validator.inc.php +++ /dev/null @@ -1,106 +0,0 @@ -<?php - -/** - * This class contains all the helper functions that - * can be referenced by a config setting. Every function - * here is supposed to validate the given config value - * and either return the validated and possibly sanitized - * value, or false to indicate that the given value is invalid. - * The passed value is a reference, as it can also be modified - * by the validator to tweak the value that is being - * displayed in the web interface, compared to the returned - * value, which will only be used by the client directly, - * and is not displayed by the web interface. - */ -class Validator -{ - - public static function validate($condition, &$displayValue) - { - if (empty($condition)) - return $displayValue; - $data = explode(':', $condition, 2); - switch ($data[0]) { - case 'regex': - if (preg_match($data[1], $displayValue)) - return $displayValue; - return false; - case 'list': - return self::validateList($data[1], $displayValue); - case 'function': - return self::$data[1]($displayValue); - case 'multilist': - return self::validateMultiList($data[1], $displayValue); - case 'multiinput': - return self::validateMultiInput($data[1], $displayValue); - default: - Util::traceError('Unknown validation method: ' . $data[0]); - } - return false; // make code inspector happy - doesn't know traceError doesn't return - } - - - /** - * Validate linux password. If already in $6$ hash form, - * the unchanged value will be returned. - * if empty, an empty string will also be returned. - * Otherwise it it assumed that the value is a plain text - * password that is supposed to be hashed. - */ - private static function linuxPassword(&$displayValue) - { - if (empty($displayValue)) - return ''; - if (preg_match('/^\$[156]\$.+\$./', $displayValue)) - return $displayValue; - return Crypto::hash6($displayValue); - } - - /** - * "Fix" network share path for SMB shares where a backslash - * is used instead of a slash. - * @param string $displayValue network path - * @return string cleaned up path - */ - private static function networkShare(&$displayValue) - { - $displayValue = trim($displayValue); - if (substr($displayValue, 0, 2) === '\\\\') - $displayValue = str_replace('\\', '/', $displayValue); - $returnValue = $displayValue; - if (substr($returnValue, 0, 2) === '//') - $returnValue = str_replace(' ', '\\040', $returnValue); - return $returnValue; - } - - /** - * Validate value against list. - * @param string $list The list as a string of items, separated by "|" - * @param string $displayValue The value to validate - * @return boolean|string The value, if in list, false otherwise - */ - private static function validateList($list, &$displayValue) - { - $list = explode('|', $list); - if (in_array($displayValue, $list)) - return $displayValue; - return false; - } - private static function validateMultiList($list, &$displayValue) - { - $allowedValues = explode('|', $list); - $values = []; - foreach ($displayValue as $v) { - if (in_array($v, $allowedValues)) { - $values[] = $v; - } - } - $displayValue = implode(' ', $values); - return $displayValue; - } - - private static function validateMultiInput(&$list, &$displayValue) - { - return $displayValue; - } -} |