Upgrade PHPWord
[civicrm-core.git] / tools / scripts / composer / patches / phpword-libxml-fix-global-handling.patch
1 From 27ee4bef48def2e3b966b6d5ff8cc8c56b1fac2c Mon Sep 17 00:00:00 2001
2 From: Seamus Lee <seamuslee001@gmail.com>
3 Date: Sun, 24 Feb 2019 09:06:51 +1100
4 Subject: [PATCH] Ensure that entity_loader disable variable is re-set back to
5 the original setting
6
7 ---
8 src/PhpWord/Shared/Html.php | 2 ++
9 src/PhpWord/TemplateProcessor.php | 2 ++
10 3 files changed, 6 insertions(+), 1 deletion(-)
11
12 diff --git a/src/PhpWord/Shared/Html.php b/src/PhpWord/Shared/Html.php
13 index 89881822ca..f25cf5f4a6 100644
14 --- a/src/PhpWord/Shared/Html.php
15 +++ b/src/PhpWord/Shared/Html.php
16 @@ -72,6 +72,7 @@ public static function addHtml($element, $html, $fullHTML = false, $preserveWhit
17 }
18
19 // Load DOM
20 + $orignalLibEntityLoader = libxml_disable_entity_loader();
21 libxml_disable_entity_loader(true);
22 $dom = new \DOMDocument();
23 $dom->preserveWhiteSpace = $preserveWhiteSpace;
24 @@ -80,6 +81,7 @@ public static function addHtml($element, $html, $fullHTML = false, $preserveWhit
25 $node = $dom->getElementsByTagName('body');
26
27 self::parseNode($node->item(0), $element);
28 + libxml_disable_entity_loader($orignalLibEntityLoader);
29 }
30
31 /**
32 diff --git a/src/PhpWord/TemplateProcessor.php b/src/PhpWord/TemplateProcessor.php
33 index 0f685bc45b..fa605b19c5 100644
34 --- a/src/PhpWord/TemplateProcessor.php
35 +++ b/src/PhpWord/TemplateProcessor.php
36 @@ -170,6 +170,7 @@ protected function readPartWithRels($fileName)
37 */
38 protected function transformSingleXml($xml, $xsltProcessor)
39 {
40 + $orignalLibEntityLoader = libxml_disable_entity_loader();
41 libxml_disable_entity_loader(true);
42 $domDocument = new \DOMDocument();
43 if (false === $domDocument->loadXML($xml)) {
44 @@ -180,6 +181,7 @@ protected function transformSingleXml($xml, $xsltProcessor)
45 if (false === $transformedXml) {
46 throw new Exception('Could not transform the given XML document.');
47 }
48 + libxml_disable_entity_loader($orignalLibEntityLoader);
49
50 return $transformedXml;
51 }