diff options
author | Simon Rettberg | 2016-05-19 15:44:06 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-05-19 15:44:06 +0200 |
commit | c9e07bac5aebaf7903bcf9bbaf4bfbc598326346 (patch) | |
tree | b4ab8dd36f8dfed13f564f051cb80db94f0a92c4 /inc | |
parent | work work work work work (diff) | |
download | slx-admin-c9e07bac5aebaf7903bcf9bbaf4bfbc598326346.tar.gz slx-admin-c9e07bac5aebaf7903bcf9bbaf4bfbc598326346.tar.xz slx-admin-c9e07bac5aebaf7903bcf9bbaf4bfbc598326346.zip |
Move Validator include to basconfig module
Diffstat (limited to 'inc')
-rw-r--r-- | inc/validator.inc.php | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/inc/validator.inc.php b/inc/validator.inc.php deleted file mode 100644 index 23debd2c..00000000 --- a/inc/validator.inc.php +++ /dev/null @@ -1,85 +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); - 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; - } - -} |