Iets robuuster testen op lockeduser

svn path=/Website/trunk/; revision=37648
This commit is contained in:
Jos Groot Lipman
2018-04-16 07:34:21 +00:00
parent e4e96d6205
commit 2b3130efeb
2 changed files with 14 additions and 12 deletions

View File

@@ -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];

View File

@@ -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);