diff options
Diffstat (limited to 'phpBB/includes/functions_user.php')
| -rw-r--r-- | phpBB/includes/functions_user.php | 27 | 
1 files changed, 26 insertions, 1 deletions
| diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 5a6a0b4a05..2b26c6787c 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1247,8 +1247,9 @@ function validate_data($data, $val_ary)  		{  			$function = array_shift($validate);  			array_unshift($validate, $data[$var]); +			$function_prefix = (function_exists('phpbb_validate_' . $function)) ? 'phpbb_validate_' : 'validate_'; -			if ($result = call_user_func_array('validate_' . $function, $validate)) +			if ($result = call_user_func_array($function_prefix . $function, $validate))  			{  				// Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.  				$error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var); @@ -1899,6 +1900,30 @@ function validate_jabber($jid)  }  /** +* Validate hex colour value +* +* @param string $colour The hex colour value +* @param bool $optional Whether the colour value is optional. True if an empty +*			string will be accepted as correct input, false if not. +* @return bool|string Error message if colour value is incorrect, false if it +*			fits the hex colour code +*/ +function phpbb_validate_hex_colour($colour, $optional = false) +{ +	if ($colour === '') +	{ +		return (($optional) ? false : 'WRONG_DATA'); +	} + +	if (!preg_match('/^([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/', $colour)) +	{ +		return 'WRONG_DATA'; +	} + +	return false; +} + +/**  * Verifies whether a style ID corresponds to an active style.  *  * @param int $style_id The style_id of a style which should be checked if activated or not. | 
