mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge pull request #3582 from s9e/ticket/13805
[ticket/13805] Updated generate_text_for_storage() to match message_parser
This commit is contained in:
commit
a3e487e0f8
2 changed files with 129 additions and 7 deletions
|
@ -560,10 +560,14 @@ function generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text
|
||||||
* @param bool $allow_bbcode If BBCode is allowed (i.e. if BBCode is parsed)
|
* @param bool $allow_bbcode If BBCode is allowed (i.e. if BBCode is parsed)
|
||||||
* @param bool $allow_urls If urls is allowed
|
* @param bool $allow_urls If urls is allowed
|
||||||
* @param bool $allow_smilies If smilies are allowed
|
* @param bool $allow_smilies If smilies are allowed
|
||||||
|
* @param bool $allow_img_bbcode
|
||||||
|
* @param bool $allow_flash_bbcode
|
||||||
|
* @param bool $allow_quote_bbcode
|
||||||
|
* @param bool $allow_url_bbcode
|
||||||
*
|
*
|
||||||
* @return array An array of string with the errors that occurred while parsing
|
* @return array An array of string with the errors that occurred while parsing
|
||||||
*/
|
*/
|
||||||
function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bbcode = false, $allow_urls = false, $allow_smilies = false)
|
function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bbcode = false, $allow_urls = false, $allow_smilies = false, $allow_img_bbcode = true, $allow_flash_bbcode = true, $allow_quote_bbcode = true, $allow_url_bbcode = true)
|
||||||
{
|
{
|
||||||
global $phpbb_root_path, $phpEx, $phpbb_dispatcher;
|
global $phpbb_root_path, $phpEx, $phpbb_dispatcher;
|
||||||
|
|
||||||
|
@ -578,6 +582,10 @@ function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bb
|
||||||
* @var bool allow_bbcode Whether or not to parse BBCode
|
* @var bool allow_bbcode Whether or not to parse BBCode
|
||||||
* @var bool allow_urls Whether or not to parse URLs
|
* @var bool allow_urls Whether or not to parse URLs
|
||||||
* @var bool allow_smilies Whether or not to parse Smilies
|
* @var bool allow_smilies Whether or not to parse Smilies
|
||||||
|
* @var bool allow_img_bbcode Whether or not to parse the [img] BBCode
|
||||||
|
* @var bool allow_flash_bbcode Whether or not to parse the [flash] BBCode
|
||||||
|
* @var bool allow_quote_bbcode Whether or not to parse the [quote] BBCode
|
||||||
|
* @var bool allow_url_bbcode Whether or not to parse the [url] BBCode
|
||||||
* @since 3.1.0-a1
|
* @since 3.1.0-a1
|
||||||
*/
|
*/
|
||||||
$vars = array(
|
$vars = array(
|
||||||
|
@ -588,6 +596,10 @@ function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bb
|
||||||
'allow_bbcode',
|
'allow_bbcode',
|
||||||
'allow_urls',
|
'allow_urls',
|
||||||
'allow_smilies',
|
'allow_smilies',
|
||||||
|
'allow_img_bbcode',
|
||||||
|
'allow_flash_bbcode',
|
||||||
|
'allow_quote_bbcode',
|
||||||
|
'allow_url_bbcode',
|
||||||
);
|
);
|
||||||
extract($phpbb_dispatcher->trigger_event('core.modify_text_for_storage_before', compact($vars)));
|
extract($phpbb_dispatcher->trigger_event('core.modify_text_for_storage_before', compact($vars)));
|
||||||
|
|
||||||
|
@ -600,7 +612,7 @@ function generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bb
|
||||||
}
|
}
|
||||||
|
|
||||||
$message_parser = new parse_message($text);
|
$message_parser = new parse_message($text);
|
||||||
$message_parser->parse($allow_bbcode, $allow_urls, $allow_smilies);
|
$message_parser->parse($allow_bbcode, $allow_urls, $allow_smilies, $allow_img_bbcode, $allow_flash_bbcode, $allow_quote_bbcode, $allow_url_bbcode);
|
||||||
|
|
||||||
$text = $message_parser->message;
|
$text = $message_parser->message;
|
||||||
$uid = $message_parser->bbcode_uid;
|
$uid = $message_parser->bbcode_uid;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once __DIR__ . '/../../phpBB/includes/functions.php';
|
require_once __DIR__ . '/../../phpBB/includes/functions.php';
|
||||||
|
require_once __DIR__ . '/../../phpBB/includes/functions_compatibility.php';
|
||||||
require_once __DIR__ . '/../../phpBB/includes/functions_content.php';
|
require_once __DIR__ . '/../../phpBB/includes/functions_content.php';
|
||||||
require_once __DIR__ . '/../../phpBB/includes/utf/utf_tools.php';
|
require_once __DIR__ . '/../../phpBB/includes/utf/utf_tools.php';
|
||||||
|
|
||||||
|
@ -36,7 +37,7 @@ class phpbb_text_processing_generate_text_for_storage_test extends phpbb_test_ca
|
||||||
/**
|
/**
|
||||||
* @dataProvider get_text_formatter_tests
|
* @dataProvider get_text_formatter_tests
|
||||||
*/
|
*/
|
||||||
public function test_text_formatter($original, $expected, $allow_bbcode = true, $allow_urls = true, $allow_smilies = true, $setup = null)
|
public function test_text_formatter($original, $expected, $allow_bbcode, $allow_urls, $allow_smilies, $allow_img_bbcode, $allow_flash_bbcode, $allow_quote_bbcode, $allow_url_bbcode, $setup = null)
|
||||||
{
|
{
|
||||||
$actual = $original;
|
$actual = $original;
|
||||||
$uid = '';
|
$uid = '';
|
||||||
|
@ -48,7 +49,7 @@ class phpbb_text_processing_generate_text_for_storage_test extends phpbb_test_ca
|
||||||
$setup();
|
$setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_text_for_storage($actual, $uid, $bitfield, $flags, $allow_bbcode, $allow_urls, $allow_smilies);
|
generate_text_for_storage($actual, $uid, $bitfield, $flags, $allow_bbcode, $allow_urls, $allow_smilies, $allow_img_bbcode, $allow_flash_bbcode, $allow_quote_bbcode, $allow_url_bbcode);
|
||||||
|
|
||||||
$this->assertSame($expected, $actual);
|
$this->assertSame($expected, $actual);
|
||||||
}
|
}
|
||||||
|
@ -58,15 +59,124 @@ class phpbb_text_processing_generate_text_for_storage_test extends phpbb_test_ca
|
||||||
return array(
|
return array(
|
||||||
array(
|
array(
|
||||||
'Hello world',
|
'Hello world',
|
||||||
'<t>Hello world</t>'
|
'<t>Hello world</t>',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'Hello [url=http://example.org]world[/url] :)',
|
'Hello [url=http://example.org]world[/url] :)',
|
||||||
'<r>Hello <URL url="http://example.org"><s>[url=http://example.org]</s>world<e>[/url]</e></URL> <E>:)</E></r>'
|
'<r>Hello <URL url="http://example.org"><s>[url=http://example.org]</s>world<e>[/url]</e></URL> <E>:)</E></r>',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'&<>"\'',
|
'&<>"\'',
|
||||||
'<t>&<>"\'</t>'
|
'<t>&<>"\'</t>',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<t>[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]</t>',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r><B><s>[b]</s>..<e>[/b]</e></B> http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]</r>',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r>[b]..[/b] <URL url="http://example.org">http://example.org</URL> :) [img]<URL url="http://example.org/img.png">http://example.org/img.png</URL>[/img] [flash=123,123]<URL url="http://example.org/flash.swf">http://example.org/flash.swf</URL>[/flash] [quote]...[/quote] [url]<URL url="http://example.org">http://example.org</URL>[/url]</r>',
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r>[b]..[/b] http://example.org <E>:)</E> [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]</r>',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r><B><s>[b]</s>..<e>[/b]</e></B> http://example.org :) <IMG src="http://example.org/img.png"><s>[img]</s>http://example.org/img.png<e>[/img]</e></IMG> [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]</r>',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r><B><s>[b]</s>..<e>[/b]</e></B> http://example.org :) [img]http://example.org/img.png[/img] <FLASH height="123" url="http://example.org/flash.swf" width="123"><s>[flash=123,123]</s>http://example.org/flash.swf<e>[/flash]</e></FLASH> [quote]...[/quote] [url]http://example.org[/url]</r>',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r><B><s>[b]</s>..<e>[/b]</e></B> http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] <QUOTE><s>[quote]</s>...<e>[/quote]</e></QUOTE> [url]http://example.org[/url]</r>',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'[b]..[/b] http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] [url]http://example.org[/url]',
|
||||||
|
'<r><B><s>[b]</s>..<e>[/b]</e></B> http://example.org :) [img]http://example.org/img.png[/img] [flash=123,123]http://example.org/flash.swf[/flash] [quote]...[/quote] <URL url="http://example.org"><s>[url]</s>http://example.org<e>[/url]</e></URL></r>',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue