From 572a905c02de8cdc6d073ce91f7107e9377e73ac Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Sat, 25 Apr 2015 23:41:07 +0200 Subject: [PATCH 1/3] [ticket/12745] Updated s9e\TextFormatter PHPBB3-12745 --- phpBB/composer.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/phpBB/composer.lock b/phpBB/composer.lock index adc109b0ee..ce7e0072d7 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -169,12 +169,12 @@ "source": { "type": "git", "url": "https://github.com/s9e/TextFormatter.git", - "reference": "5b7d4c40bdef53f26ca6b09e85163f28e852f16b" + "reference": "31fe627a4a82d41098a2db8036287c0693c79f13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/5b7d4c40bdef53f26ca6b09e85163f28e852f16b", - "reference": "5b7d4c40bdef53f26ca6b09e85163f28e852f16b", + "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/31fe627a4a82d41098a2db8036287c0693c79f13", + "reference": "31fe627a4a82d41098a2db8036287c0693c79f13", "shasum": "" }, "require": { @@ -219,7 +219,7 @@ "parser", "shortcodes" ], - "time": "2015-04-22 15:15:46" + "time": "2015-04-25 20:58:33" }, { "name": "symfony/config", From 25acba225961e037ea1f7e04259eee3dc4f589ee Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Fri, 24 Apr 2015 00:21:32 +0200 Subject: [PATCH 2/3] [ticket/12745] Added support for Unicode characters outside BMP PHPBB3-12745 --- phpBB/includes/message_parser.php | 9 --------- tests/functional/posting_test.php | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 8353ae6843..3027566f43 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -1241,15 +1241,6 @@ class parse_message extends bbcode_firstpass // Parse this message $this->message = $parser->parse(htmlspecialchars_decode($this->message, ENT_QUOTES)); - // 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('
', $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) === '') diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index fd802eed45..8ac734c733 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -43,14 +43,6 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case $this->add_lang('posting'); - self::create_post(2, - 1, - 'Unsupported characters', - "This is a test with these weird characters: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6", - array(), - 'Your message contains the following unsupported characters' - ); - self::create_post(2, 1, "Unsupported: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6", @@ -59,4 +51,14 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case 'Your subject contains the following unsupported characters' ); } + + public function test_supported_unicode_characters() + { + $this->login(); + + $post = $this->create_topic(2, 'Test Topic 1', 'This is a test topic posted by the testing framework.'); + $this->create_post(2, $post['topic_id'], 'Re: Test Topic 1', "This is a test with these weird characters: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6"); + $crawler = self::request('GET', "viewtopic.php?t={$post['topic_id']}&sid={$this->sid}"); + $this->assertContains("\xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6", $crawler->text()); + } } From 98bdcd0cde8155cdcf3161b5794951d1860071ba Mon Sep 17 00:00:00 2001 From: JoshyPHP Date: Sat, 25 Apr 2015 17:06:16 +0200 Subject: [PATCH 3/3] [ticket/12745] Added HTML entity test https://github.com/phpbb/phpbb/pull/3548#issuecomment-96219167 PHPBB3-12745 --- tests/functional/posting_test.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index 8ac734c733..7acf375c5d 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -61,4 +61,14 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case $crawler = self::request('GET', "viewtopic.php?t={$post['topic_id']}&sid={$this->sid}"); $this->assertContains("\xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6", $crawler->text()); } + + public function test_html_entities() + { + $this->login(); + + $post = $this->create_topic(2, 'Test Topic 1', 'This is a test topic posted by the testing framework.'); + $this->create_post(2, $post['topic_id'], 'Re: Test Topic 1', '😀'); + $crawler = self::request('GET', "viewtopic.php?t={$post['topic_id']}&sid={$this->sid}"); + $this->assertContains('😀', $crawler->text()); + } }