aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/message_parser.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2014-06-09 15:55:04 +0200
committerMarc Alexander <admin@m-a-styles.de>2014-06-09 17:48:06 +0200
commit89f70673779f1908c8f000c5c053bb377e253254 (patch)
treed088e38d448868995aa411daaaa8120bac5cb1d1 /phpBB/includes/message_parser.php
parent0c5af536f1de55b6ee30ab9f193b6ea7637ac5b1 (diff)
downloadforums-89f70673779f1908c8f000c5c053bb377e253254.tar
forums-89f70673779f1908c8f000c5c053bb377e253254.tar.gz
forums-89f70673779f1908c8f000c5c053bb377e253254.tar.bz2
forums-89f70673779f1908c8f000c5c053bb377e253254.tar.xz
forums-89f70673779f1908c8f000c5c053bb377e253254.zip
[ticket/11711] Inform user of unsupported characters while posting
PHPBB3-11711
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r--phpBB/includes/message_parser.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php
index 6d3907880e..eed892986e 100644
--- a/phpBB/includes/message_parser.php
+++ b/phpBB/includes/message_parser.php
@@ -1194,6 +1194,19 @@ class parse_message extends bbcode_firstpass
}
}
+ // Check for out-of-bounds characters that are currently
+ // not supported by utf8_bin
+ if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $this->message, $matches))
+ {
+ $character_list = '';
+ foreach ($matches[0] as $cur_match)
+ {
+ $character_list .= $cur_match . '<br />';
+ }
+ $this->warn_msg[] = $user->lang('UNSUPPORTED_CHARACTERS', $character_list);
+ return (!$update_this_message) ? $return_message : $this->warn_msg;
+ }
+
// Check for "empty" message. We do not check here for maximum length, because bbcode, smilies, etc. can add to the length.
// The maximum length check happened before any parsings.
if ($mode === 'post' && utf8_clean_string($this->message) === '')