diff options
author | bastei <bastei@users.noreply.github.com> | 2013-09-26 06:45:47 +0200 |
---|---|---|
committer | bastei <bastei@users.noreply.github.com> | 2013-09-26 06:45:47 +0200 |
commit | ca0b341401d1f577a4d14f02161ea794c8cb1d28 (patch) | |
tree | 6197b04d6c670c7aa0e2051c67aa6adbb8e751c0 | |
parent | 6d5e8373a9dd79c16a028d4799a6325b885f143f (diff) |
ArticleEnhancer: convert relative urls to html characters
-rw-r--r-- | tests/unit/utility/articleenhancer/ArticleEnhancerTest.php | 8 | ||||
-rw-r--r-- | utility/articleenhancer/articleenhancer.php | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php b/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php index ce105db49..f252c4fac 100644 --- a/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php +++ b/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php @@ -246,7 +246,7 @@ class ArticleEnhancerTest extends \OCA\AppFramework\Utility\TestUtility { $file->headers = array("content-type"=>"text/html; charset=utf-8"); $file->body = '<html> <body> - <img src="relative/url.png"> + <img src="relative/url.png?a=1&b=2"> </body> </html>'; $item = new Item(); @@ -260,11 +260,11 @@ class ArticleEnhancerTest extends \OCA\AppFramework\Utility\TestUtility { ->will($this->returnValue($file)); $this->purifier->expects($this->once()) ->method('purify') - ->with($this->equalTo('<img src="https://username:secret@www.explosm.net/all/relative/url.png">')) - ->will($this->returnValue('<img src="https://username:secret@www.explosm.net/all/relative/url.png">')); + ->with($this->equalTo('<img src="https://username:secret@www.explosm.net/all/relative/url.png?a=1&b=2">')) + ->will($this->returnValue('<img src="https://username:secret@www.explosm.net/all/relative/url.png?a=1&b=2">')); $result = $this->testEnhancer->enhance($item); - $this->assertEquals('<img src="https://username:secret@www.explosm.net/all/relative/url.png">', $result->getBody()); + $this->assertEquals('<img src="https://username:secret@www.explosm.net/all/relative/url.png?a=1&b=2">', $result->getBody()); } public function testDontTransformAbsoluteUrlsAndMails() { diff --git a/utility/articleenhancer/articleenhancer.php b/utility/articleenhancer/articleenhancer.php index 823ddcc18..6450f638d 100644 --- a/utility/articleenhancer/articleenhancer.php +++ b/utility/articleenhancer/articleenhancer.php @@ -121,7 +121,7 @@ abstract class ArticleEnhancer { $xpathResult = $xpath->query("//*[@".$attribute." and not(contains(@".$attribute.", '://')) and not(starts-with(@".$attribute.", 'mailto:'))]"); foreach ($xpathResult as $linkNode) { $urlElement = $linkNode->attributes->getNamedItem($attribute); - $urlElement->nodeValue = $this->relativeToAbsoluteUrl( $urlElement->nodeValue, $absoluteUrl ); + $urlElement->nodeValue = htmlentities( $this->relativeToAbsoluteUrl( $urlElement->nodeValue, $absoluteUrl ) ); } } |