diff options
author | JoshyPHP <s9e.dev@gmail.com> | 2019-12-09 02:16:01 +0100 |
---|---|---|
committer | JoshyPHP <s9e.dev@gmail.com> | 2019-12-09 02:16:01 +0100 |
commit | 6758190afd7b77d5800fe1e03e87ec4f2f09e91f (patch) | |
tree | ff89de003489af32154d3eb14d9658c8ac90b9d3 | |
parent | 1f00e160ab69b2a709793abc1829cc6e91e07b93 (diff) | |
download | forums-6758190afd7b77d5800fe1e03e87ec4f2f09e91f.tar forums-6758190afd7b77d5800fe1e03e87ec4f2f09e91f.tar.gz forums-6758190afd7b77d5800fe1e03e87ec4f2f09e91f.tar.bz2 forums-6758190afd7b77d5800fe1e03e87ec4f2f09e91f.tar.xz forums-6758190afd7b77d5800fe1e03e87ec4f2f09e91f.zip |
[ticket/16251] Prevent shortened links from overriding other plugins
PHPBB3-16251
-rw-r--r-- | phpBB/phpbb/textformatter/s9e/link_helper.php | 2 | ||||
-rw-r--r-- | tests/text_formatter/s9e/link_helper_test.php | 35 |
2 files changed, 36 insertions, 1 deletions
diff --git a/phpBB/phpbb/textformatter/s9e/link_helper.php b/phpBB/phpbb/textformatter/s9e/link_helper.php index 483794a83e..1cd5dd2fa7 100644 --- a/phpBB/phpbb/textformatter/s9e/link_helper.php +++ b/phpBB/phpbb/textformatter/s9e/link_helper.php @@ -61,7 +61,7 @@ class link_helper $text = substr($parser->getText(), $start, $length); // Create a tag that consumes the link's text and make it depends on this tag - $link_text_tag = $parser->addSelfClosingTag('LINK_TEXT', $start, $length); + $link_text_tag = $parser->addSelfClosingTag('LINK_TEXT', $start, $length, 10); $link_text_tag->setAttribute('text', $text); $tag->cascadeInvalidationTo($link_text_tag); } diff --git a/tests/text_formatter/s9e/link_helper_test.php b/tests/text_formatter/s9e/link_helper_test.php new file mode 100644 index 0000000000..762d67f883 --- /dev/null +++ b/tests/text_formatter/s9e/link_helper_test.php @@ -0,0 +1,35 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +class phpbb_textformatter_s9e_link_helper_test extends phpbb_test_case +{ + public function test_does_not_override_autoimage() + { + $container = $this->get_test_case_helpers()->set_s9e_services(); + $configurator = $container->get('text_formatter.s9e.factory')->get_configurator(); + + $configurator->Autoimage; + extract($configurator->finalize()); + + $original = 'http://localhost/path_to_long_image_filename_0123456789.png'; + $expected = '<r> + <URL url="http://localhost/path_to_long_image_filename_0123456789.png"> + <IMG src="http://localhost/path_to_long_image_filename_0123456789.png"> + <LINK_TEXT text="http://localhost/path_to_long_image_fil ... 456789.png">http://localhost/path_to_long_image_filename_0123456789.png</LINK_TEXT> + </IMG> + </URL> + </r>'; + + $this->assertXmlStringEqualsXmlString($expected, $parser->parse($original)); + } +} |