diff options
author | Andreas Fischer <bantu@phpbb.com> | 2011-06-09 12:47:26 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2011-06-09 12:47:26 +0200 |
commit | f7578e29b3c4c4b7b66226f8c159e5e40363162f (patch) | |
tree | c38e870ae75b8922bf097c00f0cc7368fff96fd0 /phpBB/includes/functions_profile_fields.php | |
parent | 60811a507ea7e8a2634b597d4c1074c0e3d52be3 (diff) | |
parent | a2b6605ce8d5d4c156fda44c5fc44b11aae22b02 (diff) | |
download | forums-f7578e29b3c4c4b7b66226f8c159e5e40363162f.tar forums-f7578e29b3c4c4b7b66226f8c159e5e40363162f.tar.gz forums-f7578e29b3c4c4b7b66226f8c159e5e40363162f.tar.bz2 forums-f7578e29b3c4c4b7b66226f8c159e5e40363162f.tar.xz forums-f7578e29b3c4c4b7b66226f8c159e5e40363162f.zip |
Merge remote-tracking branch 'naderman/ticket/10005' into develop-olympus
* naderman/ticket/10005:
[ticket/10005] Add description to test cases
[ticket/10005] Add validation of dropdown custom profile field values
Diffstat (limited to 'phpBB/includes/functions_profile_fields.php')
-rw-r--r-- | phpBB/includes/functions_profile_fields.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php index 78fe049f40..1eae2a9ad6 100644 --- a/phpBB/includes/functions_profile_fields.php +++ b/phpBB/includes/functions_profile_fields.php @@ -149,7 +149,18 @@ class custom_profile case FIELD_DROPDOWN: $field_value = (int) $field_value; - + + // retrieve option lang data if necessary + if (!isset($this->options_lang[$field_data['field_id']]) || !isset($this->options_lang[$field_data['field_id']][$field_data['lang_id']]) || !sizeof($this->options_lang[$file_data['field_id']][$field_data['lang_id']])) + { + $this->get_option_lang($field_data['field_id'], $field_data['lang_id'], FIELD_DROPDOWN, false); + } + + if (!isset($this->options_lang[$field_data['field_id']][$field_data['lang_id']][$field_value])) + { + return 'FIELD_INVALID_VALUE'; + } + if ($field_value == $field_data['field_novalue'] && $field_data['field_required']) { return 'FIELD_REQUIRED'; @@ -302,6 +313,7 @@ class custom_profile switch ($cp_result) { case 'FIELD_INVALID_DATE': + case 'FIELD_INVALID_VALUE': case 'FIELD_REQUIRED': $error = sprintf($user->lang[$cp_result], $row['lang_name']); break; |