aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2011-06-09 12:47:27 +0200
committerAndreas Fischer <bantu@phpbb.com>2011-06-09 12:47:27 +0200
commitc49dce2be34064ffe66829cbb34e2bed9ed03492 (patch)
treef7a8836bca1513408f01d82e2ebf4268e4abab67 /phpBB/includes
parentd64ec4f765bd5fa082cc9eecff927ac2bf153f24 (diff)
parentf7578e29b3c4c4b7b66226f8c159e5e40363162f (diff)
downloadforums-c49dce2be34064ffe66829cbb34e2bed9ed03492.tar
forums-c49dce2be34064ffe66829cbb34e2bed9ed03492.tar.gz
forums-c49dce2be34064ffe66829cbb34e2bed9ed03492.tar.bz2
forums-c49dce2be34064ffe66829cbb34e2bed9ed03492.tar.xz
forums-c49dce2be34064ffe66829cbb34e2bed9ed03492.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/10005] Add description to test cases [ticket/10005] Add validation of dropdown custom profile field values
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/functions_profile_fields.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/phpBB/includes/functions_profile_fields.php b/phpBB/includes/functions_profile_fields.php
index 44deffa162..ec29a1732d 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;