1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 14:00:31 +02:00

[ticket/9040] Count HTML entities as single in custom profile fields

Currently when an user adds a HTML entity to a custom profile field, the length
gets incremented by 4 since the code reads &gt; instead of <. However, the
length is presentational and not DB storage so it should be treated as a
single character even if it takes four lengths in the DB by being stored as
a HTML entity.

Work around this by decoding html entities before counting. Also, added unit
tests for string field type

PHPBB3-9040
This commit is contained in:
Shitiz Garg
2014-03-17 15:54:28 +05:30
parent f9438bcbf7
commit 403ab49716
2 changed files with 118 additions and 1 deletions

View File

@@ -65,7 +65,7 @@ abstract class type_string_common extends type_base
{
return $this->user->lang('FIELD_TOO_SHORT', (int) $field_data['field_minlen'], $this->get_field_name($field_data['lang_name']));
}
else if ($field_data['field_maxlen'] && utf8_strlen($field_value) > $field_data['field_maxlen'])
else if ($field_data['field_maxlen'] && utf8_strlen(html_entity_decode($field_value)) > $field_data['field_maxlen'])
{
return $this->user->lang('FIELD_TOO_LONG', (int) $field_data['field_maxlen'], $this->get_field_name($field_data['lang_name']));
}