From feb20ad8b27e973c95d9ebf3b41aa3a125318ef5 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 4 Oct 2014 11:10:33 +0200 Subject: create files for next gen parser --- articleenhancer/globalarticleenhancer.php | 9 ++++++--- articleenhancer/xpatharticleenhancer.php | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'articleenhancer') diff --git a/articleenhancer/globalarticleenhancer.php b/articleenhancer/globalarticleenhancer.php index f4466f75f..7d8385db2 100644 --- a/articleenhancer/globalarticleenhancer.php +++ b/articleenhancer/globalarticleenhancer.php @@ -13,6 +13,8 @@ namespace OCA\News\ArticleEnhancer; +use \ZendXml\Security; + use \OCA\News\Db\Item; @@ -23,7 +25,7 @@ class GlobalArticleEnhancer implements ArticleEnhancer { * This method is run after all enhancers and for every item */ public function enhance(Item $item) { - + $dom = new \DOMDocument(); // wrap it inside a div if there is none to prevent invalid wrapping @@ -31,9 +33,10 @@ class GlobalArticleEnhancer implements ArticleEnhancer { $body = '
' . $item->getBody() . '
'; $loadEntities = libxml_disable_entity_loader(true); - @$dom->loadHTML($body, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); + @$dom->loadHTML($body, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD + | LIBXML_NONET); libxml_disable_entity_loader($loadEntities); - + $xpath = new \DOMXpath($dom); // remove youtube autoplay diff --git a/articleenhancer/xpatharticleenhancer.php b/articleenhancer/xpatharticleenhancer.php index 0550ada46..87c80762b 100644 --- a/articleenhancer/xpatharticleenhancer.php +++ b/articleenhancer/xpatharticleenhancer.php @@ -13,6 +13,8 @@ namespace OCA\News\ArticleEnhancer; +use \ZendXml\Security; + use \OCA\News\Db\Item; use \OCA\News\Utility\SimplePieAPIFactory; use \OCA\News\Utility\Config; @@ -67,9 +69,9 @@ class XPathArticleEnhancer implements ArticleEnhancer { } $dom = new \DOMDocument(); - + $loadEntities = libxml_disable_entity_loader(true); - @$dom->loadHTML($body); + @$dom->loadHTML($body, LIBXML_NONET); libxml_disable_entity_loader($loadEntities); $xpath = new \DOMXpath($dom); @@ -135,7 +137,7 @@ class XPathArticleEnhancer implements ArticleEnhancer { // return, if xml is empty or loading the HTML fails $loadEntities = libxml_disable_entity_loader(true); - if( trim($xmlString) == "" || !@$dom->loadHTML($xmlString) ) { + if( trim($xmlString) == "" || !@$dom->loadHTML($xmlString, LIBXML_NONET) ) { libxml_disable_entity_loader($loadEntities); return $xmlString; } -- cgit v1.2.3