diff options
author | Nicofuma <github@nicofuma.fr> | 2014-04-26 14:10:10 +0200 |
---|---|---|
committer | Nicofuma <github@nicofuma.fr> | 2014-04-26 14:10:10 +0200 |
commit | a29f3c878a799b1a39e239b9d01d8e800ae949ee (patch) | |
tree | 27582d4f197d34de4ece7b4e204e57569e93f52e /phpBB/includes/functions_user.php | |
parent | 9eedd45aac7670c1fdd4076755b1f807d2587d3d (diff) | |
download | forums-a29f3c878a799b1a39e239b9d01d8e800ae949ee.tar forums-a29f3c878a799b1a39e239b9d01d8e800ae949ee.tar.gz forums-a29f3c878a799b1a39e239b9d01d8e800ae949ee.tar.bz2 forums-a29f3c878a799b1a39e239b9d01d8e800ae949ee.tar.xz forums-a29f3c878a799b1a39e239b9d01d8e800ae949ee.zip |
[ticket/12097] Validate_data() should work with class method
https://tracker.phpbb.com/browse/PHPBB3-12097
PHPBB3-12097
Diffstat (limited to 'phpBB/includes/functions_user.php')
-rw-r--r-- | phpBB/includes/functions_user.php | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 6682622d94..354e79a672 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1326,9 +1326,18 @@ 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($function_prefix . $function, $validate)) + if (is_array($function)) + { + $result = call_user_func_array($function[0], 'validate_' . $function[1], $validate); + } + else + { + $function_prefix = (function_exists('phpbb_validate_' . $function)) ? 'phpbb_validate_' : 'validate_'; + $result = call_user_func_array($function_prefix . $function, $validate); + } + + if ($result) { // 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); |