aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshyPHP <s9e.dev@gmail.com>2019-12-09 02:16:01 +0100
committerJoshyPHP <s9e.dev@gmail.com>2019-12-09 02:16:01 +0100
commit6758190afd7b77d5800fe1e03e87ec4f2f09e91f (patch)
treeff89de003489af32154d3eb14d9658c8ac90b9d3
parent1f00e160ab69b2a709793abc1829cc6e91e07b93 (diff)
downloadforums-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.php2
-rw-r--r--tests/text_formatter/s9e/link_helper_test.php35
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));
+ }
+}