diff options
author | Andreas Fischer <bantu@phpbb.com> | 2015-06-16 14:34:44 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2015-06-16 14:34:44 +0200 |
commit | beb830df712e74107d3f50f094ac143a1d812efc (patch) | |
tree | 39036b84b25ca95cfe7a38d98ce649d2b63911c4 | |
parent | 65fef50869a8b16635f24e324ce7820509ef4aa5 (diff) | |
parent | 78eeb210e78429d867347ecb7c0eedf707005632 (diff) | |
download | forums-beb830df712e74107d3f50f094ac143a1d812efc.tar forums-beb830df712e74107d3f50f094ac143a1d812efc.tar.gz forums-beb830df712e74107d3f50f094ac143a1d812efc.tar.bz2 forums-beb830df712e74107d3f50f094ac143a1d812efc.tar.xz forums-beb830df712e74107d3f50f094ac143a1d812efc.zip |
Merge pull request #3675 from s9e/ticket/13906
[ticket/13906] Fixed old signatures in post preview
* s9e/ticket/13906:
[ticket/13906] Renamed test
[ticket/13906] Added test
[ticket/13906] Fixed old signatures in post preview
-rw-r--r-- | phpBB/posting.php | 13 | ||||
-rw-r--r-- | tests/functional/posting_test.php | 22 |
2 files changed, 27 insertions, 8 deletions
diff --git a/phpBB/posting.php b/phpBB/posting.php index 4a8da8e7ce..ed6a9713e7 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -1490,14 +1490,11 @@ if (!sizeof($error) && $preview) // Signature if ($post_data['enable_sig'] && $config['allow_sig'] && $preview_signature && $auth->acl_get('f_sigs', $forum_id)) { - $parse_sig = new parse_message($preview_signature); - $parse_sig->bbcode_uid = $preview_signature_uid; - $parse_sig->bbcode_bitfield = $preview_signature_bitfield; - - // Not sure about parameters for bbcode/smilies/urls... in signatures - $parse_sig->format_display($config['allow_sig_bbcode'], $config['allow_sig_links'], $config['allow_sig_smilies']); - $preview_signature = $parse_sig->message; - unset($parse_sig); + $flags = ($config['allow_sig_bbcode']) ? OPTION_FLAG_BBCODE : 0; + $flags |= ($config['allow_sig_links']) ? OPTION_FLAG_LINKS : 0; + $flags |= ($config['allow_sig_smilies']) ? OPTION_FLAG_SMILIES : 0; + + $preview_signature = generate_text_for_display($preview_signature, $preview_signature_uid, $preview_signature_bitfield, $flags, false); } else { diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index 49f0c1d749..ccfeb10deb 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -180,4 +180,26 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case $crawler = self::submit($form); $this->assertEquals($text, $crawler->filter('#message')->text()); } + + public function test_old_signature_in_preview() + { + $sql = 'UPDATE ' . USERS_TABLE . " + SET user_sig = '[b:2u8sdcwb]My signature[/b:2u8sdcwb]', + user_sig_bbcode_uid = '2u8sdcwb', + user_sig_bbcode_bitfield = 'QA==' + WHERE user_id = 2"; + $this->get_db()->sql_query($sql); + + $this->login(); + $crawler = self::request('GET', 'posting.php?mode=post&f=2'); + $form = $crawler->selectButton('Preview')->form(array( + 'subject' => 'Test subject', + 'message' => 'My post', + )); + $crawler = self::submit($form); + $this->assertContains( + '<span style="font-weight: bold">My signature</span>', + $crawler->filter('#preview .signature')->html() + ); + } } |