aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb
diff options
context:
space:
mode:
authorShitiz Garg <mail@dragooon.net>2014-03-17 15:54:28 +0530
committerShitiz Garg <mail@dragooon.net>2014-03-17 17:35:30 +0530
commit403ab49716c8bc7d93fc33bbf810e0814e3de049 (patch)
treecb175a96bbdca12c79be18e02946db9605e39729 /phpBB/phpbb
parentf9438bcbf700b9d237791390c0ec6aca461e8fd7 (diff)
downloadforums-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 &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
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r--phpBB/phpbb/profilefields/type/type_string_common.php2
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']));
}