cyrilleinvalides/choupas/www/admin/editor/scripts/jsExtension.js

107 lines
2.2 KiB
JavaScript
Executable File

function jsonRepresentation(elem) {
this.elem = elem;
this.template = elem.getElementsByClassName('template')[0];
this.plant = function (arr, childKey) {
var a = this.plantProcess(arr, childKey);
for (var i in a) this.elem.appendChild(a[i]);
}
this.plantProcess = function (arr, childKey) {
var ret = new Array();
var tmp = null;
for ( var i in arr ) {
tmp = this.grow(arr[i]);
if (arr[i][key]) {
var a = this.plant(arr[i][j], childKey);
for ( var k in a ) {
ret.appendChild(a[k]);
}
}
ret[ret.length] = tmp;
}
return ret;
}
this.grow = function (fsitem) {
var node = this.template(true);
for ( var i in fsitem ) {
if ( i == 'class' ) node.addClassName(fsitem[i]);
else node[i] = fsitem[i];
}
return node;
}
}
function template(elem) {
this.elem = elem;
this.template = elem.getElementsByClassName('template')[0];
this.plant = function (arr, childKey) {
var a = this.plantProcess(arr, childKey);
for (var i in a) this.elem.appendChild(a[i]);
}
this.plantProcess = function (arr, childKey) {
var ret = new Array();
var tmp = null;
for ( var i in arr ) {
tmp = this.grow(arr[i]);
if (arr[i][key]) {
var a = this.plant(arr[i][j], childKey);
var b = document.createNode( this.elem.tagName );
tmp.appendChild(b);
for ( var k in a ) {
b.appendChild(a[k]);
}
}
ret[ret.length] = tmp;
}
return ret;
}
this.grow = function (fsitem) {
var node = this.template.cloneNode(true);
for ( var i in fsitem ) {
if ( i == 'class' ) node.addClassName(fsitem[i]);
else node[i] = fsitem[i];
}
return node;
}
}
function pk(respo) {
var json = eval(respo.text);
var x = new jsonRepresentation(document.getElementById('json'));
}
var code = ' include("fileclass.php"); $x = new DSDirectory("."); echo json_encode( $x->lister(2) ); ';
var q = new xhrQuery('phpC.php', 'POST');
q.addPost('code', code);
q.callback = pk;
xhrProc.process(q);
function walk(key, func, arr) {
var str = '';
var x = new Array();
for ( var i in arr ) {
if (i == key) {
str += "\t=>\t{" + formes( "\n" + walk(key, func, arr[i] ) ) + "}";
} else {
str += i + "\t=>\t" + arr[i];
}
str += "\n";
}
return str;
}