VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/keeview_app/html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/keeview_app/html/codecenter.js
const CodeCenter = function (hosturi) {
    var core = {
        hosturi: hosturi,
    };
    core.opencache = function (core) {
        return function (callbackfunc) {
            if (core.cache === undefined) {
                jscache.open("codecenter_" + EncodingClass.md5.encode("roseide_" + core.hosturi), function (callbackfunc) {
                    return function (success, content) {
                        core.cache = content;
                        if (success) {
                            try {
                                callbackfunc();
                            }
                            catch (e) {
                                console.error(e);
                            }
                        }
                        else {
                            console.log("Can not open indexeddb");
                        }
                    }
                } (callbackfunc));
            }
            else {
                try {
                    callbackfunc();
                }
                catch (e) {
                    console.error(e);
                }
            }
        }
    } (core);

    core.fetchContents = function (core) {
        return function (contents, callbackfunc) {
            var i, t = [], n = contents.length;
            for (i = 0; i < n; i++) {
                t.push(parseInt(contents[i] + ""));
            }
            t.sort(function (a, b) {
                return a - b;
            });
            FormClass.api_call({
                url: core.hosturi,
                params: [
                    {
                        name: "task",
                        value: "fetch"
                    },
                    {
                        name: "content",
                        value: EncodingClass.string.fromVariable(t)
                    }
                ],
                func: function (callbackfunc) {
                    return function (success, message) {
                        var r;
                        if (success) {
                            if (message.substr(0, 2) == "ok") {
                                r = EncodingClass.string.toVariable(message.substr(2));
                                if (r.result) {
                                    try {
                                        callbackfunc(r.content);
                                    }
                                    catch (e) {
                                        console.error(e);
                                    }
                                }
                                else {
                                    console.log(r.message);
                                }
                            }
                            else {
                                console.log(message);
                            }
                        }
                        else {
                            console.log(message);
                        }
                    }
                } (callbackfunc)
            });
        }
    } (core);

    core.update = function (core) {
        return function (contentList, callbackfunc) {
            core.opencache(function (contentList, callbackfunc) {
                return function () {
                    core.cache.all("assoc", function (contentList, callbackfunc) {
                        return function (data) {
                            setTimeout(function (data, core, contentList, callbackfunc) {
                                return function () {
                                    var nodes = data.nodes;
                                    var contents = data.contents;
                                    if (nodes === undefined) nodes = {};
                                    if (contents === undefined) contents = {};
                                    var xkeys, keys = Object.keys(contentList);
                                    var marked = {};
                                    var changed = false;
                                    var i, j, id, time;
                                    for (i = 0; i < keys.length; i++) {
                                        if (nodes[keys[i]] === undefined) {
                                            nodes[keys[i]] = contentList[keys[i]];
                                            changed = true;
                                            if (nodes[keys[i]].children === undefined) {
                                                if ((nodes[keys[i]].debug !== undefined) && (nodes[keys[i]].debug !== null)) {
                                                    id = nodes[keys[i]].debug.id;
                                                    marked[id] = true;
                                                }
                                                if ((nodes[keys[i]].release !== undefined) && (nodes[keys[i]].release !== null)) {
                                                    id = nodes[keys[i]].release.id;
                                                    marked[id] = true;
                                                }
                                            }
                                            continue;
                                        }
                                        if (nodes[keys[i]].children !== undefined) {
                                            if (changed) {
                                                nodes[keys[i]] = contentList[keys[i]];
                                                continue;
                                            }
                                            xkeys = Object.keys(nodes[keys[i]].children);
                                            if (xkeys.length != Object.keys(contentList[keys[i]].children).length) {
                                                nodes[keys[i]].children = contentList[keys[i]].children;
                                                changed = true;
                                                continue;
                                            }
                                            for (j = 0; j < xkeys.length; j++) {
                                                if (nodes[keys[i]].children[xkeys[j]] != contentList[keys[i]].children[xkeys[j]]) {
                                                    nodes[keys[i]].children = contentList[keys[i]].children;
                                                    changed = true;
                                                    break;
                                                }
                                            }
                                            continue;
                                        }
                                        if ((nodes[keys[i]].debug === null) || (contentList[keys[i]].debug === null)) {
                                            if (nodes[keys[i]].debug != contentList[keys[i]].debug) {
                                                nodes[keys[i]].debug = contentList[keys[i]].debug;
                                                changed = true;
                                            }
                                        }
                                        else {
                                            if ((nodes[keys[i]].debug.id != contentList[keys[i]].debug.id) || (nodes[keys[i]].debug.time != contentList[keys[i]].debug.time)) {
                                                nodes[keys[i]].debug = contentList[keys[i]].debug;
                                                changed = true;
                                            }
                                        }
                                        if ((nodes[keys[i]].release === null) || (contentList[keys[i]].release === null)) {
                                            if (nodes[keys[i]].release != contentList[keys[i]].release) {
                                                nodes[keys[i]].release = contentList[keys[i]].release;
                                                changed = true;
                                            }
                                        }
                                        else {
                                            if ((nodes[keys[i]].release.id != contentList[keys[i]].release.id) || (nodes[keys[i]].release.time != contentList[keys[i]].release.time)) {
                                                nodes[keys[i]].release = contentList[keys[i]].release;
                                                changed = true;
                                            }
                                        }
                                        if ((nodes[keys[i]].debug !== undefined) && (nodes[keys[i]].debug !== null)) {
                                            id = nodes[keys[i]].debug.id;
                                            time = nodes[keys[i]].debug.time;
                                            if (contents[id] === undefined) {
                                                marked[id] = true;
                                            }
                                            else if (contents[id].time != time) {
                                                marked[id] = true;
                                            }
                                        }
                                        if ((nodes[keys[i]].release !== undefined) && (nodes[keys[i]].release !== null)) {
                                            id = nodes[keys[i]].release.id;
                                            time = nodes[keys[i]].release.time;
                                            if (contents[id] === undefined) {
                                                marked[id] = true;
                                            }
                                            else if (contents[id].time != time) {
                                                marked[id] = true;
                                            }
                                        }
                                    }
                                    keys = Object.keys(marked);
                                    if (keys.length == 0) {
                                        if (!changed) {
                                            setTimeout(function (callbackfunc) {
                                                return function () {
                                                    try {
                                                        callbackfunc();
                                                    }
                                                    catch (e) {
                                                        console.error(e);
                                                    }
                                                }
                                            } (callbackfunc), 10);
                                            return;
                                        }
                                        core.cache.write("nodes", nodes, function (callbackfunc) {
                                            return function () {
                                                setTimeout(function (callbackfunc) {
                                                    return function () {
                                                        try {
                                                            callbackfunc();
                                                        }
                                                        catch (e) {
                                                            console.error(e);
                                                        }
                                                    }
                                                } (callbackfunc), 10);
                                            }
                                        } (callbackfunc));
                                        return;
                                    }
                                    if (changed) core.cache.write("nodes", nodes, function () {});
                                    core.fetchContents(keys, function (contents, callbackfunc) {
                                        return function (newcontents) {
                                            var keys = Object.keys(newcontents);
                                            var i;
                                            if (keys.length > 0) {
                                                for (i = 0; i < keys.length; i++) {
                                                    contents[keys[i]] = newcontents[keys[i]];
                                                }
                                                core.cache.write("contents", contents, function (callbackfunc) {
                                                    return function () {
                                                        setTimeout(function (callbackfunc) {
                                                            return function () {
                                                                try {
                                                                    callbackfunc();
                                                                }
                                                                catch (e) {
                                                                    console.error(e);
                                                                }
                                                            }
                                                        } (callbackfunc), 100);
                                                    }
                                                } (callbackfunc));
                                            }
                                        }
                                    } (contents, callbackfunc));
                                    console.log(contentList);
                                }
                            } (data, core, contentList, callbackfunc), 100);
                        }
                    } (contentList, callbackfunc));
                }
            } (contentList, callbackfunc));
        }
    } (core);

    core.validateName = function (name) {
        var s = "", c, ok;
        for (i = 0; i < name.length; i++) {
            c = name.substr(i, 1);
            ok = false;
            if (("a" <= c) && (c <= "z")) ok = true;
            if (("A" <= c) && (c <= "Z")) ok = true;
            if (("0" <= c) && (c <= "9")) ok = true;
            if (c == "_") ok = true;
            if (c == "-") ok = true;
            if (ok) {
                s += c;
            }
            else {
                s += "x" + c.charCodeAt() + "_";
            }
        }
        return EncodingClass.string.substr(s);
    }

    core.make = function (core) {
        return function (params) {
            if (EncodingClass.type.isString(params.content)) params.content = [params.content];
            core.opencache(function (core, params) {
                return function () {
                    var builder = function (mode) {
                        return function (data, nodeid, builder, xresources) {
                            var keys, i, j, n, t, contentid;
                            var children = [], resources = [], tresources, st, sx;
                            if (xresources === undefined) xresources = {};
                            var prefix = CodeCenterLibs.getPrefix(data, nodeid);
                            keys = Object.keys(xresources);
                            n = keys.length;
                            tresources = keys;
                            for (i = 0; i < n; i++) {
                                xresources[keys[i]] = keys[i];
                            }
                            if ((data.nodes[nodeid].type == "function") || (data.nodes[nodeid].type == "preload") || (data.nodes[nodeid].type == "postload") || (data.nodes[nodeid].type == "value")) {
                                if (mode == "debug") {
                                    contentid = data.nodes[nodeid].debug.id;
                                }
                                else {
                                    contentid = data.nodes[nodeid].release.id;
                                }
                                if (data.contents[contentid] === undefined) {
                                    console.error("CodeCenter / contentid: " + contentid + " not found");
                                    return "function () {return null;}\r\n";
                                }
                                st = "function (";
                                if (data.nodes[nodeid].type == "function") {
                                    n = data.contents[contentid].parameters.length;
                                    for (i = 0; i < n; i++) {
                                        if (i > 0) {
                                            st += ", " + data.contents[contentid].parameters[i];
                                        }
                                        else {
                                            st += data.contents[contentid].parameters[i];
                                        }
                                    }
                                }
                                st += ") {\r\n";
                                st += data.contents[contentid].content + "\r\n";
                                st += "}\r\n";
                                return st;
                            }
                            if (data.nodes[nodeid].children === undefined) {
                                console.log ("nodeid = " + nodeid, data.nodes[nodeid]);
                            }
                            keys = Object.keys(data.nodes[nodeid].children);
                            n = keys.length;
                            for (i = 0; i < n; i++) {
                                children.push(data.nodes[nodeid].children[keys[i]]);
                            }
                            children.sort(function (nodes) {
                                return function (a, b) {
                                    var av, bv;
                                    var indexToValue = {
                                        "preload": 0,
                                        "resource": 1,
                                        "node": 2,
                                        "value": 3,
                                        "function": 4,
                                        "postload": 5
                                    };

                                    if (nodes[a].type != nodes[b].type) {
                                        av = indexToValue[nodes[a].type];
                                        bv = indexToValue[nodes[b].type];
                                        return av - bv;
                                    }
                                    av = nodes[a].name.toLowerCase();
                                    bv = nodes[b].name.toLowerCase();
                                    if (av != bv) {
                                        if (av < bv) return -1;
                                        return 1;
                                    }
                                    if (nodes[a].name < nodes[b].name) return -1;
                                    if (nodes[a].name > nodes[b].name) return 1;
                                    return a - b;
                                }
                            } (data.nodes));
                            st = "function () {\r\n";
                            st += "var retval = {};\r\n";
                            if (data.nodes[nodeid].type == "module") st += "var module = retval;\r\n";
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "preload") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var v" + children[i] + " = function(module, me";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j];
                                    }
                                    st += ") {\r\n";
                                    st += "return " + builder(data, children[i], builder);
                                    st += "} (module, retval";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j];
                                    }
                                    st += ");\r\n";
                                    st += "v" + children[i] + "();\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "resource") {
                                    resources.push({
                                        id: children[i],
                                        name: data.nodes[children[i]].name
                                    });
                                    st += "var v" + children[i] + " = {};\r\n";
                                    xresources[data.nodes[children[i]].name] = "v" + children[i];
                                }
                            }
                            keys = Object.keys(xresources);
                            tresources = [];
                            for (i = 0; i < keys.length; i++) {
                                tresources.push({
                                    name: keys[i],
                                    value: xresources[keys[i]]
                                });
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "resource") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var t = function (module, me";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].name;
                                    }
                                    st += ") {";
                                    st += "return function () {";
                                    st += "return " + builder(data, children[i], builder, EncodingClass.string.duplicate(xresources)) + " ();\r\n";
                                    st += "}";
                                    st += "} (module, retval";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].value;
                                    }
                                    st += ");\r\n";
                                    st += "t = t();\r\n";
                                    st += "CodeCenterLibs.copyMembers(v" + children[i] + ", t);\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "value") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var v" + children[i] + " = " + builder(data, children[i], builder);
                                    st += " ();\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "node") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var v" + children[i] + " = (function (module";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].name;
                                    }
                                    st += ") { return " + builder(data, children[i], builder, EncodingClass.string.duplicate(xresources));
                                    st += "} (module";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].value;
                                    }
                                    st += ")) ();\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "function") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var v" + children[i] + " = function(module, me";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].name;
                                    }
                                    st += ") {\r\n";
                                    st += "return " + builder(data, children[i], builder, EncodingClass.string.duplicate(xresources));
                                    st += "} (module, retval";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].value;
                                    }
                                    st += ");\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if ((data.nodes[children[i]].type != "resource") && (data.nodes[children[i]].type != "preload") && (data.nodes[children[i]].type != "postload")) {
                                    st += "retval." + core.validateName(data.nodes[children[i]].name) + " = v" + children[i] + ";\r\n";
                                }
                            }
                            for (i = 0; i < n; i++) {
                                if (data.nodes[children[i]].type == "postload") {
                                    st += "/" + "/ " + data.nodes[children[i]].type + ": " + prefix + "." + data.nodes[children[i]].name + "\r\n";
                                    st += "var v" + children[i] + " = function(module, me";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].name;
                                    }
                                    st += ") {\r\n";
                                    st += "return " + builder(data, children[i], builder, EncodingClass.string.duplicate(xresources));
                                    st += "} (module, retval";
                                    for (j = 0; j < tresources.length; j++) {
                                        st += ", " + tresources[j].value;
                                    }
                                    st += ");\r\n";
                                    st += "v" + children[i] + "();\r\n";
                                }
                            }
                            st += "return retval;\r\n";
                            st += "}\r\n";
                            return st;
                        }
                    } (params.mode);

                    var maker = function (core, builder) {
                        return function (data, target, moduleName) {
                            var keys = Object.keys(data.nodes);
                            var buff = [];
                            var i, j, n, m;
                            var nextname;
                            var id, mid = -1;
                            n = keys.length;
                            for (i = 0; i < n; i++) {
                                if (data.nodes[keys[i]].parentid == 0) {
                                    buff.push({
                                        id: parseInt(keys[i]),
                                        path: data.nodes[keys[i]].name,
                                        type: data.nodes[keys[i]].type
                                    });
                                }
                            }
                            n = buff.length;
                            for (i = 0; i < n; i++) {
                                if (buff[i].type == "module") {
                                    if (buff[i].path == moduleName) {
                                        mid = buff[i].id;
                                        break;
                                    }
                                    continue;
                                }
                                keys = Object.keys(data.nodes[buff[i].id].children);
                                m = keys.length;
                                for (j = 0; j < m; j++) {
                                    nextname = keys[j];
                                    id = data.nodes[buff[i].id].children[nextname];
                                    if (data.nodes[id] === undefined) continue;
                                    if ((data.nodes[id].type != "node") && (data.nodes[id].type != "module")) continue;
                                    buff.push({
                                        id: id,
                                        path: buff[i].path + "." + nextname,
                                        type: data.nodes[id].type
                                    });
                                    n++;
                                }
                            }
                            if (mid == -1) return;
                            sx = data.nodes[mid].name;
                            i = data.nodes[mid].parentid;
                            while (i != 0) {
                                sx = data.nodes[i].name + "/" + sx;
                                i = data.nodes[i].parentid;
                            }
                            m = target + " = " + builder(data, mid, builder) + " ();\r\n";
                            return EncodingClass.string.substr(m);
                        }
                    } (core, builder);
                    core.cache.all("assoc", function (core, params, maker) {
                        return function (data) {
                            setTimeout(function (data, params, maker) {
                                return function () {
                                    var i, n, target, moduleName;
                                    var xurl = window.URL || window.webkitURL;
                                    var st;
                                    n = params.content.length;
                                    for (i = 0; i < n; i++) {
                                        if (EncodingClass.type.isString(params.content[i])) {
                                            moduleName = params.content[i];
                                            target = params.content[i];
                                        }
                                        else if ((params.content[i].moduleName !== undefined) && (params.content[i].target !== undefined)) {
                                            moduleName = params.content[i].moduleName;
                                            target = params.content[i].target;
                                        }
                                        else if (EncodingClass.type.isArray(params.content[i])) {
                                            moduleName = params.content[i][0];
                                            target = params.content[i][1];
                                        }
                                        else {
                                            continue;
                                        }
                                        st = maker(data, target, moduleName);
                                        st = xurl.createObjectURL(new Blob([ st ], { type: "text/javascript" }));
                                        var head = document.getElementsByTagName("head")[0];
                                        var fileref = document.createElement('script');
                                        fileref.setAttribute("type","text/javascript");
                                        fileref.setAttribute("src", st);
                                        head.appendChild(fileref);
                                    }
                                    if (params.callbackfunc !== undefined) {
                                        if (EncodingClass.type.isFunction(params.callbackfunc)) {
                                            setTimeout(function (callbackfunc) {
                                                return function () {
                                                    try {
                                                        callbackfunc();
                                                    }
                                                    catch (e) {
                                                        console.error(e);
                                                    }
                                                }
                                            } (params.callbackfunc), 100);
                                        }
                                    }
                                }
                            } (data, params, maker), 100);
                        }
                    } (core, params, maker));
                }
            } (core, params));
        }
    } (core);
    var retval = {};
    retval.update = function (core) {
        return function (contentList, callbackfunc) {
            core.update(contentList, callbackfunc);
        }
    } (core);
    retval.make = function (core) {
        return function (params) {
            core.make(params);
        }
    } (core);
    return Object.freeze(retval);
}

const CodeCenterLibs = {
    copyMembers: function (destination, source) {
        var i, n, keys;
        keys = Object.keys(source);
        n = keys.length;
        for (i = 0; i < n; i++) {
            destination[keys[i]] = source[keys[i]];
        }
    },
    getPrefix: function (data, id) {
        if (data === undefined) return "";
        if (data.nodes === undefined) return "";
        if (data.nodes[id] === undefined) return "";
        if (data.nodes[id].name === undefined) return "";
        if (data.nodes[id].parentid == 0) return data.nodes[id].name;
        if (data.nodes[data.nodes[id].parentid] === undefined) return data.nodes[id].name;
        return CodeCenterLibs.getPrefix(data, data.nodes[id].parentid) + "." + data.nodes[id].name;
    }
}

VaKeR 2022