Skip to content

Commit 0ad8244

Browse files
committed
Ensure that entity_loader disable variable is re-set back to the original setting
1 parent 9958a48 commit 0ad8244

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

src/PhpWord/Shared/Html.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public static function addHtml($element, $html, $fullHTML = false, $preserveWhit
7272
}
7373

7474
// Load DOM
75+
$orignalLibEntityLoader = libxml_disable_entity_loader();
7576
libxml_disable_entity_loader(true);
7677
$dom = new \DOMDocument();
7778
$dom->preserveWhiteSpace = $preserveWhiteSpace;
@@ -80,6 +81,7 @@ public static function addHtml($element, $html, $fullHTML = false, $preserveWhit
8081
$node = $dom->getElementsByTagName('body');
8182

8283
self::parseNode($node->item(0), $element);
84+
libxml_disable_entity_loader($orignalLibEntityLoader);
8385
}
8486

8587
/**

src/PhpWord/TemplateProcessor.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ protected function readPartWithRels($fileName)
170170
*/
171171
protected function transformSingleXml($xml, $xsltProcessor)
172172
{
173+
$orignalLibEntityLoader = libxml_disable_entity_loader();
173174
libxml_disable_entity_loader(true);
174175
$domDocument = new \DOMDocument();
175176
if (false === $domDocument->loadXML($xml)) {
@@ -180,7 +181,7 @@ protected function transformSingleXml($xml, $xsltProcessor)
180181
if (false === $transformedXml) {
181182
throw new Exception('Could not transform the given XML document.');
182183
}
183-
184+
libxml_disable_entity_loader($orignalLibEntityLoader);
184185
return $transformedXml;
185186
}
186187

tests/PhpWord/_includes/XmlDocument.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,11 @@ public function getFileDom($file = 'word/document.xml')
7676
$this->file = $file;
7777

7878
$file = $this->path . '/' . $file;
79+
$orignalLibEntityLoader = libxml_disable_entity_loader();
7980
libxml_disable_entity_loader(false);
8081
$this->dom = new \DOMDocument();
8182
$this->dom->load($file);
82-
libxml_disable_entity_loader(true);
83+
libxml_disable_entity_loader($orignalLibEntityLoader);
8384

8485
return $this->dom;
8586
}

0 commit comments

Comments
 (0)