aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-04-27 20:43:03 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-04-27 20:43:03 +0200
commit0b6accf1acd32b08c84906276717b3bdd43335a4 (patch)
treec532f0afba0790b7605cb52127303421a1c17267 /phpBB
parent42e29daa1faab896f74f86fd641ebdf4a907940b (diff)
parent6ba61785f8da8df917866055e0119bc4fceeae0d (diff)
downloadforums-0b6accf1acd32b08c84906276717b3bdd43335a4.tar
forums-0b6accf1acd32b08c84906276717b3bdd43335a4.tar.gz
forums-0b6accf1acd32b08c84906276717b3bdd43335a4.tar.bz2
forums-0b6accf1acd32b08c84906276717b3bdd43335a4.tar.xz
forums-0b6accf1acd32b08c84906276717b3bdd43335a4.zip
Merge pull request #2359 from Nicofuma/ticket/12097
[ticket/12097] Validate_data() should work with class method * Nicofuma/ticket/12097: [ticket/12097] Bug fix and adding unit test [ticket/12097] Validate_data() should work with class method
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_user.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index 6682622d94..97af7ada04 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(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);