mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-25 19:38:53 +00:00
Merge pull request #3548 from s9e/ticket/12745
[ticket/12745] Allow Unicode characters from the SMP to be used in text * s9e/ticket/12745: [ticket/12745] Added HTML entity test [ticket/12745] Added support for Unicode characters outside BMP [ticket/12745] Updated s9e\TextFormatter
This commit is contained in:
commit
e7d2977401
3 changed files with 24 additions and 21 deletions
8
phpBB/composer.lock
generated
8
phpBB/composer.lock
generated
|
@ -169,12 +169,12 @@
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/s9e/TextFormatter.git",
|
"url": "https://github.com/s9e/TextFormatter.git",
|
||||||
"reference": "5b7d4c40bdef53f26ca6b09e85163f28e852f16b"
|
"reference": "31fe627a4a82d41098a2db8036287c0693c79f13"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/s9e/TextFormatter/zipball/5b7d4c40bdef53f26ca6b09e85163f28e852f16b",
|
"url": "https://api.github.com/repos/s9e/TextFormatter/zipball/31fe627a4a82d41098a2db8036287c0693c79f13",
|
||||||
"reference": "5b7d4c40bdef53f26ca6b09e85163f28e852f16b",
|
"reference": "31fe627a4a82d41098a2db8036287c0693c79f13",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
"parser",
|
"parser",
|
||||||
"shortcodes"
|
"shortcodes"
|
||||||
],
|
],
|
||||||
"time": "2015-04-22 15:15:46"
|
"time": "2015-04-25 20:58:33"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
|
|
|
@ -1241,15 +1241,6 @@ class parse_message extends bbcode_firstpass
|
||||||
// Parse this message
|
// Parse this message
|
||||||
$this->message = $parser->parse(htmlspecialchars_decode($this->message, ENT_QUOTES));
|
$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('<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.
|
// 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.
|
// The maximum length check happened before any parsings.
|
||||||
if ($mode === 'post' && utf8_clean_string($this->message) === '')
|
if ($mode === 'post' && utf8_clean_string($this->message) === '')
|
||||||
|
|
|
@ -43,14 +43,6 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case
|
||||||
|
|
||||||
$this->add_lang('posting');
|
$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,
|
self::create_post(2,
|
||||||
1,
|
1,
|
||||||
"Unsupported: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6",
|
"Unsupported: \xF0\x9F\x88\xB3 \xF0\x9F\x9A\xB6",
|
||||||
|
@ -59,4 +51,24 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case
|
||||||
'Your subject contains the following unsupported characters'
|
'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());
|
||||||
|
}
|
||||||
|
|
||||||
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue