From 2b3130efeb33bfa7a7fc5e783086a01dac25970a Mon Sep 17 00:00:00 2001 From: Jos Groot Lipman Date: Mon, 16 Apr 2018 07:34:21 +0000 Subject: [PATCH] Iets robuuster testen op lockeduser svn path=/Website/trunk/; revision=37648 --- APPL/Shared/xml_converter.inc | 3 ++- UTILS/PutOrders/puo_xmltools.js | 23 ++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/APPL/Shared/xml_converter.inc b/APPL/Shared/xml_converter.inc index 8d3026b961..c52912654f 100644 --- a/APPL/Shared/xml_converter.inc +++ b/APPL/Shared/xml_converter.inc @@ -53,11 +53,12 @@ function STR2Stream(xmlstr, xslfile, Stream, params) // eerst lockeduser(xmlnode,key,bdradr_key) vervangen // lockeduser(opdracht,12345,910) met 12345 opdracht_key en 910 bedrijfadres_key + // Vergelijkbare code in puo_xmltools.js var hmacs = p_bodyhtml.match(/(lockeduser\([^\)]*\))/g); // heeft nu array van lockeduser(opdracht,12345,910) for (var i =0; hmacs && i < hmacs.length; i++) { var params = hmacs[i].match(/\(([^,]+)\,(\d+),(\d+)\)/); - if (params.length == 4) + if (params && params.length == 4) { var xmlnode = params[1]; // We ondersteunen alleen nog maar 'opdracht' var key = params[2]; diff --git a/UTILS/PutOrders/puo_xmltools.js b/UTILS/PutOrders/puo_xmltools.js index 92fe8c6c20..78a3f9f152 100644 --- a/UTILS/PutOrders/puo_xmltools.js +++ b/UTILS/PutOrders/puo_xmltools.js @@ -87,14 +87,15 @@ function XML2HTML( xmlDoc xslProc.addParameter("mode", mode); xslProc.transform(); result = xslProc.output; - + // eerst lockeduser(xmlnode,key,bdradr_key) vervangen // lockeduser(opdracht,12345,910) met 12345 opdracht_key en 910 bedrijfadres_key + // Vergelijkbare code in shared/xml_converter.inc var hmacs = result && result.match(/(lockeduser\([^\)]*\))/g); // heeft nu array van lockeduser(opdracht,12345,910) for (var i =0; hmacs && i < hmacs.length; i++) { var params = hmacs[i].match(/\(([^,]+)\,(\d+),(\d+)\)/); - if (params.length == 4) + if (params && params.length == 4) { var xmlnode = params[1]; // We ondersteunen alleen nog maar 'opdracht' var key = params[2]; @@ -251,7 +252,7 @@ function mergeXMLAttachments2(iXml, p_xslPath, xmltag, keynaam, pNiveau) var templatenodename = ''; if (node_templatenodename){ templatenodename = trimall(node_templatenodename.text); - } + } var AttachPath = S("flexfilespath") + "/MLD/" + subfolderKey(pNiveau, meldingopdrachtkey) + "/" + kenmerkkey; Log2File(1, "AttachPath: " + AttachPath); @@ -279,30 +280,30 @@ function mergeXMLAttachments2(iXml, p_xslPath, xmltag, keynaam, pNiveau) elemAttachments.appendChild(elemAtt); elemAtt = iXml.createElement("size"); elemAtt.text = attFile.Size; - elemAttachments.appendChild(elemAtt); - - + elemAttachments.appendChild(elemAtt); + + if (templatenodename != '') // post processing met de stylesheet { var elemWrapper = iXml.createElement(templatenodename); elemWrapper.appendChild(elemAttachments); - var tmp_xmlDoc = SafeLoadTextXML(elemWrapper.xml); + var tmp_xmlDoc = SafeLoadTextXML(elemWrapper.xml); LogString2File(3, "PostProces", tmp_xmlDoc.xml, "xml"); var tmp_xmlResult = XML2HTML( tmp_xmlDoc , p_xslPath , "" , "processattachments" ); - var tmp_xmlDoc = SafeLoadTextXML(tmp_xmlResult); + var tmp_xmlDoc = SafeLoadTextXML(tmp_xmlResult); LogString2File(3, "PostProcesAttach", tmp_xmlResult, "xml"); - + var NodeList2 = tmp_xmlDoc.documentElement.childNodes; for (var i=0; i < NodeList2.length; i++){ var tmp_node = NodeList2[i]; //Let op: niet appendChild gebruikt, want die voegt achteraan toe aan de parentnode, waardoor de volgorde wordt aangepast. //Door gebruikt van insertBefore blijft de volgorde intact, die wezenlijk voor Validatie tegen XSD (van externe partijen) kan zijn! - node.parentNode.insertBefore(tmp_node, node); - } + node.parentNode.insertBefore(tmp_node, node); + } } else{ node.parentNode.appendChild(elemAttachments);