aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/message_parser.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-06-20 10:51:58 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-06-20 10:51:58 +0200
commitb855f5fc6a9cc761c8144ef3d21b8212871f6733 (patch)
tree8fb72a060fdbd5f69a56bb148dbb853164b983b9 /phpBB/includes/message_parser.php
parentccb8fd18e2e20d3f843c713e7c23aeba2227148c (diff)
parent5ee7f20f4ee110c2ae0b122e9efbd4fabf669581 (diff)
downloadforums-b855f5fc6a9cc761c8144ef3d21b8212871f6733.tar
forums-b855f5fc6a9cc761c8144ef3d21b8212871f6733.tar.gz
forums-b855f5fc6a9cc761c8144ef3d21b8212871f6733.tar.bz2
forums-b855f5fc6a9cc761c8144ef3d21b8212871f6733.tar.xz
forums-b855f5fc6a9cc761c8144ef3d21b8212871f6733.zip
Merge pull request #2566 from marc1706/ticket/11711
[ticket/11711] Inform user of unsupported characters while posting * marc1706/ticket/11711: [ticket/11711] Improve coding and comments of character check [ticket/11711] Reduce size of tests and also test topic titles [ticket/11711] Improve checks for unsupported characters and check subject [ticket/11711] Inform user of unsupported characters while posting
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r--phpBB/includes/message_parser.php9
1 files changed, 9 insertions, 0 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php
index 6d3907880e..9d95620e0f 100644
--- a/phpBB/includes/message_parser.php
+++ b/phpBB/includes/message_parser.php
@@ -1194,6 +1194,15 @@ class parse_message extends bbcode_firstpass
}
}
+ // Check for out-of-bounds characters that are currently
+ // not supported by utf8_bin in MySQL
+ if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $this->message, $matches))
+ {
+ $character_list = implode('<br />', $matches[0]);
+ $this->warn_msg[] = $user->lang('UNSUPPORTED_CHARACTERS_MESSAGE', $character_list);
+ return $update_this_message ? $this->warn_msg : $return_message;
+ }
+
// 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) === '')