Some very old PHP code originally intended to become an image management tool.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

164 lines
3.3 KiB

if (typeof (nBildertool) === 'undefined')
nBildertool = {};
nBildertool.xmlToVar = function (data)
{
if (!data.hasChildNodes ())
return null;
var ret = null;
for (var node in data.childNodes)
{
var child = data.childNodes[node];
if (child.nodeType === 3 && child.nodeValue !== null)
{
ret = data.childNodes[node].nodeValue;
break;
}
}
switch (data.getAttribute ('type'))
{
case 'integer': ret = parseInt (ret, 10); break;
case 'double': ret = parseFloat (ret);
}
return ret;
}
nBildertool.xmlToObjectArray = function (data)
{
var ret = new Array ();
if (! data.hasChildNodes ())
return ret;
for (var node in data.childNodes)
{
var child = data.childNodes[node];
if (child.nodeType === 1)
{
name = child.getAttribute ('name');
switch (child.nodeName)
{
case 'variable':
ret[name] = nBildertool.xmlToVar (child); break;
case 'array':
ret[name] = nBildertool.xmlToArray (child); break;
case 'class':
var cName = child.getAttribute ('class');
if (eval ('typeof (' + cName + ') === \'function\''))
ret[name] = eval ("new " + cName + "(child)");
else
ret[name] = nBildertool.xmlToObjectArray (child);
}
}
}
return ret;
}
nBildertool.xmlToArray = function (data)
{
var ret = new Array ();
if (! data.hasChildNodes ())
return ret;
for (var node in data.childNodes)
{
var child = data.childNodes[node];
if (child.nodeType === 1 && child.nodeName === 'item')
{
var key = child.getAttribute ('key');
for (var _node in child.childNodes)
{
var _child = child.childNodes[_node];
if (_child.nodeType === 1)
{
switch (_child.nodeName)
{
case 'variable':
ret[key] = nBildertool.xmlToVar (_child); break;
case 'array':
ret[key] = nBildertool.xmlToArray (_child); break;
case 'class':
var cName = child.getAttribute ('class');
if (eval ('typeof (' + cName + ') === \'function\''))
ret[key] = eval ("new " + cName + "(_child)");
else
ret[key] = nBildertool.xmlToObjectArray (_child);
}
}
}
}
}
return ret;
}
nBildertool.c_xmlify = function (data)
{
if (! data.hasChildNodes ())
return;
for (var node in data.childNodes)
{
var child = data.childNodes[node];
if (child.nodeType === 1)
{
var name = child.getAttribute ('name');
if (typeof (this[name]) !== 'undefined')
{
switch (child.nodeName)
{
case 'variable':
this[name] = nBildertool.xmlToVar (child); break;
case 'array':
this[name] = nBildertool.xmlToArray (child); break;
case 'class':
var cName = child.getAttribute ('class');
if (eval ('typeof (' + cName + ') === \'function\''))
this[name] = eval ("new " + cName + "(child)");
else
this[name] = nBildertool.xmlToObjectArray (child);
}
}
}
}
}
nBildertool.deXmlify = function (data)
{
var ret = null;
var child = data.firstChild;
switch (child.nodeName)
{
case 'variable':
ret = nBildertool.xmlToVar (child); break;
case 'array':
ret = nBildertool.xmlToArray (child); break;
case 'class':
var cName = child.getAttribute ('class');
if (eval ('typeof (' + cName + ') === \'function\''))
ret = eval ("new " + cName + "(child)");
else
ret = nBildertool.xmlToObjectArray (child);
}
return ret;
}