diff options
author | Shitiz Garg <mail@dragooon.net> | 2014-03-17 15:54:28 +0530 |
---|---|---|
committer | Shitiz Garg <mail@dragooon.net> | 2014-03-17 17:35:30 +0530 |
commit | 403ab49716c8bc7d93fc33bbf810e0814e3de049 (patch) | |
tree | cb175a96bbdca12c79be18e02946db9605e39729 /phpBB/phpbb | |
parent | f9438bcbf700b9d237791390c0ec6aca461e8fd7 (diff) | |
download | forums-403ab49716c8bc7d93fc33bbf810e0814e3de049.tar forums-403ab49716c8bc7d93fc33bbf810e0814e3de049.tar.gz forums-403ab49716c8bc7d93fc33bbf810e0814e3de049.tar.bz2 forums-403ab49716c8bc7d93fc33bbf810e0814e3de049.tar.xz forums-403ab49716c8bc7d93fc33bbf810e0814e3de049.zip |
[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 > 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
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/profilefields/type/type_string_common.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/phpBB/phpbb/profilefields/type/type_string_common.php b/phpBB/phpbb/profilefields/type/type_string_common.php index 0738cbdafd..78e219a61f 100644 --- a/phpBB/phpbb/profilefields/type/type_string_common.php +++ b/phpBB/phpbb/profilefields/type/type_string_common.php @@ -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'])); } |