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 | |
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')
-rw-r--r-- | phpBB/includes/functions_profile_fields.php | 14 | ||||
-rw-r--r-- | phpBB/language/en/ucp.php | 1 |
2 files changed, 14 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; diff --git a/phpBB/language/en/ucp.php b/phpBB/language/en/ucp.php index ad7c1ccbff..c1e3c06c43 100644 --- a/phpBB/language/en/ucp.php +++ b/phpBB/language/en/ucp.php @@ -195,6 +195,7 @@ $lang = array_merge($lang, array( 'FIELD_INVALID_CHARS_ALPHA_ONLY' => 'The field “%s” has invalid characters, only alphanumeric characters are allowed.', 'FIELD_INVALID_CHARS_SPACERS_ONLY' => 'The field “%s” has invalid characters, only alphanumeric, space or -+_[] characters are allowed.', 'FIELD_INVALID_DATE' => 'The field “%s” has an invalid date.', + 'FIELD_INVALID_VALUE' => 'The field “%s” has an invalid value.', 'FOE_MESSAGE' => 'Message from foe', 'FOES_EXPLAIN' => 'Foes are users which will be ignored by default. Posts by these users will not be fully visible. Personal messages from foes are still permitted. Please note that you cannot ignore moderators or administrators.', |