From bdf0b4daa97c8f59fb302872537f2e32d27b8bdd Mon Sep 17 00:00:00 2001 From: Pierre Goiffon Date: Wed, 2 Aug 2023 10:35:30 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B06562=20Fix=20DOMNode->textContent=20writ?= =?UTF-8?q?e=20This=20attribute=20is=20read=20only=20Causes=20layout=20iss?= =?UTF-8?q?ues=20on=20PHP=208.1.21=20and=208.2.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 734a78834055a559aa0b02e30ad9abe75ed95556) (cherry picked from commit 7aa478d6fffc5e164a200abb36a1ad3c7bc113ff) --- setup/itopdesignformat.class.inc.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/setup/itopdesignformat.class.inc.php b/setup/itopdesignformat.class.inc.php index 4894385df4..0289ea5772 100644 --- a/setup/itopdesignformat.class.inc.php +++ b/setup/itopdesignformat.class.inc.php @@ -892,7 +892,10 @@ class iTopDesignFormat $oNodeList = $oXPath->query("/itop_design/classes//class/fields/field/values/value"); foreach ($oNodeList as $oNode) { $sCode = $oNode->textContent; - $oNode->textContent = ''; + // N°6562 textContent is readonly, see https://www.php.net/manual/en/class.domnode.php#95545 + // $oNode->textContent = ''; + // N°6562 to update text node content we must use the node methods ! + $oNode->removeChild($oNode->firstChild); $oCodeNode = $oNode->ownerDocument->createElement("code", $sCode); $oNode->appendChild($oCodeNode); } @@ -982,7 +985,12 @@ class iTopDesignFormat if ($oStyleNode) { $this->DeleteNode($oStyleNode); } - $oNode->textContent = $sCode; + + // N°6562 textContent is readonly, see https://www.php.net/manual/en/class.domnode.php#95545 + // $oNode->textContent = $sCode; + // N°6562 to update text node content we must use the node methods ! + $oTextContentNode = new DOMText($sCode); + $oNode->appendChild($oTextContentNode); } } // - Style