!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\Program Files (x86)\WebLog Expert\WebServer\WebApp\Files\FilterControl\   drwxrwxrwx
Free 4.13 GB of 39.52 GB (10.45%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     FilterControl.js (20.74 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var FilterControl_filterState =
{
    filterCriteria: [],
    filterList: [],
    currentFilter: null,
    adding: false,
    matchAllFilters: true,
    callbacks: 
    {
        filterUpdated: null,
        chartModeUpdated: null,
        pdfExport: null,
        csvExport: null
    },
    showFilters: true,
    showChartMode: false,
    chartMode: "daily"
};

function FilterControl_Filter(criteria, include, value)
{
    this.criteria = criteria;
    if (include === undefined)
        this.include = true;
    else
        this.include = include;
    this.value = value;

    this.Equals = function (filter)
    {
        return (this.criteria === filter.criteria) && (this.include === filter.include) && (this.value === filter.value);
    };
}

function FilterControl_getFiltersAsIniString()
{
    var st = "";

    st += "ChartMode=" + FilterControl_filterState.chartMode + "\n";

    st += "MatchAll=" + (FilterControl_filterState.matchAllFilters ? "1" : "0") + "\n";
    st += "Count=" + FilterControl_filterState.filterList.length + "\n";

    for (var i = 0; i < FilterControl_filterState.filterList.length; i++)
    {
        st += "FilterType" + i + "=" + (FilterControl_filterState.filterList[i].include ? "0" : "1") + "\n";
        st += "Filter" + i + "=" + FilterControl_filterState.filterList[i].criteria + "\n";
        st += "Mask" + i + "=" + FilterControl_filterState.filterList[i].value + "\n";
    }

    return st;
}

function FilterControl_setFiltersFromIniString(st)
{
    FilterControl_filterState.chartMode = "daily";
    FilterControl_filterState.matchAllFilters = true;
    FilterControl_filterState.filterList.length = 0;

    if (!st)
        return;

    var filterCount = 0;
    var i = 0;
    st = st + "\n";

    while (i < st.length - 1)
    {
        var iEnd = st.indexOf("\n", i);
        if (iEnd != -1)
        {
            var line = st.substr(i, iEnd - i);
            var iEq = line.indexOf("=");
            if (iEq > 0)
            {
                name = line.substr(0, iEq);
                value = line.substr(iEq + 1);

                if (name == "ChartMode")
                    FilterControl_filterState.chartMode = value;
                else if (name == "MatchAll")
                    FilterControl_filterState.matchAllFilters = value == "1";
                else if (name == "Count")
                {
                    filterCount = parseInt(value);
                    if (isNaN(filterCount) || (filterCount < 0) || (filterCount > 1000))
                        filterCount = 0;
                    for (var iFilter=0; iFilter<filterCount; iFilter++)
                        FilterControl_filterState.filterList.push(new FilterControl_Filter());
                }
                else if (name.indexOf("FilterType") == 0)
                {
                    var iFilter = parseInt(name.substr("FilterType".length));
                    if (!isNaN(iFilter) && (iFilter >= 0) && (iFilter < filterCount))
                        FilterControl_filterState.filterList[iFilter].include = value == "0";
                }
                else if (name.indexOf("Filter") == 0)
                {
                    var iFilter = parseInt(name.substr("Filter".length));
                    if (!isNaN(iFilter) && (iFilter >= 0) && (iFilter < filterCount))
                        FilterControl_filterState.filterList[iFilter].criteria = parseInt(value);
                }
                else if (name.indexOf("Mask") == 0)
                {
                    var iFilter = parseInt(name.substr("Mask".length));
                    if (!isNaN(iFilter) && (iFilter >= 0) && (iFilter < filterCount))
                        FilterControl_filterState.filterList[iFilter].value = value;
                }
            }
        }

        i = iEnd + 1;
    }
}

function FilterControl_saveFilters(callback)
{
    $("#FilterControl_IniValueField").val(FilterControl_getFiltersAsIniString());
    if (callback && FilterControl_filterState.callbacks.filterUpdated)
        FilterControl_filterState.callbacks.filterUpdated();
}

function FilterControl_loadFilters(callback)
{
    FilterControl_setFiltersFromIniString($("#FilterControl_IniValueField").val());
}

function FilterControl_updateControls(changingFilterCriteria)
{
    //Charts
    if (FilterControl_filterState.showChartMode)
        $(".FilterControl_chartModeTd").show();
    else
        $(".FilterControl_chartModeTd").hide();

    switch (FilterControl_filterState.chartMode)
    {
    case "daily":
        $("#FilterControl_dailyChartModeRadio").attr("checked", true);
        break;
    case "weekly":
        $("#FilterControl_weeklyChartModeRadio").attr("checked", true);
        break;
    case "monthly":
        $("#FilterControl_monthlyChartModeRadio").attr("checked", true);
        break;
    default:
        $("#FilterControl_dailyChartModeRadio").attr("checked", true);
    }

    $("#FilterControl_dailyChartModeRadio").button("refresh");
    $("#FilterControl_weeklyChartModeRadio").button("refresh");
    $("#FilterControl_monthlyChartModeRadio").button("refresh");

    //Filters
    if (!FilterControl_filterState.showFilters)
    {
        $(".FilterControl_filterControlTd").hide();
        return;
    }
    else
        $(".FilterControl_filterControlTd").show();

    $("#FilterControl_removeAllFilterButton").button("option", "disabled", FilterControl_filterState.filterList.length == 0);
    $(".FilterControl_RemoveAllFilterArea").show();
    $(".FilterControl_RemoveAllFilterConfirmArea").hide();

    $(FilterControl_filterState.matchAllFilters ? "#FilterControl_andModeFilterRadio" : "#FilterControl_orModeFilterRadio").attr("checked", true);
    $("#FilterControl_andModeFilterRadio, #FilterControl_orModeFilterRadio").button("refresh");

    if (!changingFilterCriteria)
        $("#FilterControl_errorLabel").hide();

    if (!FilterControl_filterState.currentFilter)
    {
        $("#FilterControl_filterEditDiv").hide();
        return;
    }
    else
        $("#FilterControl_filterEditDiv").show();

    $("#FilterControl_applyFilterButton span").text(FilterControl_filterState.adding ? "Add" : "Apply");
    $("#FilterControl_filterEditInfo").text(FilterControl_filterState.adding ? "Add filter:" : "Edit filter:");
            
    var selectedValue = $("#FilterControl_filterCriteriaSelect option:selected").val();
    if (!selectedValue)
    {
        $("#FilterControl_exampleLabel").text(" ");
        $("#FilterControl_filterValueEdit").show();
        $("#FilterControl_filterValueSelect").hide();
    }
    else 
    {
        for (var i = 0; i < FilterControl_filterState.filterCriteria.length; i++)
            if (FilterControl_filterState.filterCriteria[i].id == selectedValue) 
            {
                $("#FilterControl_exampleLabel").text(FilterControl_filterState.filterCriteria[i].example || " ");

                if (FilterControl_filterState.filterCriteria[i].values)
                {
                    $("#FilterControl_filterValueEdit").hide();
                    $("#FilterControl_filterValueSelect").show();

                    var filterValueSelect = $("#FilterControl_filterValueSelect");
                    filterValueSelect.find("option").remove();
                    filterValueSelect.append($("<option />"));
                    for (var j = 0; j < FilterControl_filterState.filterCriteria[i].values.length; j++)
                        filterValueSelect.append($("<option />").val(FilterControl_filterState.filterCriteria[i].values[j].value).text(FilterControl_filterState.filterCriteria[i].values[j].name));
                }
                else
                {
                    $("#FilterControl_filterValueEdit").show();
                    $("#FilterControl_filterValueSelect").hide();
                }

                break;
            }
    }
}

function FilterControl_getCriteriaDescription(id)
{
    for (var i = 0; i < FilterControl_filterState.filterCriteria.length; i++)
        if (FilterControl_filterState.filterCriteria[i].id == id)
            return FilterControl_filterState.filterCriteria[i].name;

    return "";
}

function FilterControl_getFilterValueToShow(id, value)
{
    for (var i = 0; i < FilterControl_filterState.filterCriteria.length; i++)
        if (FilterControl_filterState.filterCriteria[i].id == id)
        {
            if (!FilterControl_filterState.filterCriteria[i].values)
                return value;
            else
            {
                for (var j = 0; j < FilterControl_filterState.filterCriteria[i].values.length; j++)
                    if (FilterControl_filterState.filterCriteria[i].values[j].value == value)
                        return FilterControl_filterState.filterCriteria[i].values[j].name;

                return FilterControl_filterState.filterCriteria[i].values[j].value;
            }
        }

    return value;
}

function FilterControl_editFilterButton_Click()
{
    FilterControl_filterState.currentFilter = $(this).data("filter");
    FilterControl_filterState.adding = false;
    FilterControl_updateControls();
    FilterControl_setFilterDataToControls(FilterControl_filterState.currentFilter);
    $(this).blur();
}

function FilterControl_removeFilterButton_Click()
{
    var filter = $(this).data("filter");
    for (var i = 0; i < FilterControl_filterState.filterList.length; i++)
        if (FilterControl_filterState.filterList[i] === filter)
        {
            for (var j = i; j < FilterControl_filterState.filterList.length-1; j++)
                FilterControl_filterState.filterList[j] = FilterControl_filterState.filterList[j + 1];
            FilterControl_filterState.filterList.length = FilterControl_filterState.filterList.length - 1;
            break;
        }

    FilterControl_filterState.currentFilter = null;
    FilterControl_updateControls();
    FilterControl_updateFilterList();
    FilterControl_saveFilters(true);
}

function FilterControl_updateFilterList()
{
    $("#FilterControl_filterList").empty();

    if (FilterControl_filterState.filterList.length == 0)
    {
        $("#FilterControl_filterList").hide();
        return;
    }
    else
        $("#FilterControl_filterList").show();

    var criteriaArr = [], i;
    for (i = 0; i < FilterControl_filterState.filterList.length; i++)
    {
        if (!criteriaArr[FilterControl_filterState.filterList[i].criteria])
            criteriaArr[FilterControl_filterState.filterList[i].criteria] = [];

        criteriaArr[FilterControl_filterState.filterList[i].criteria].push(FilterControl_filterState.filterList[i]);
    }

    var addedFilter = false, st;
    for (var criteria in criteriaArr)
    {
        st = FilterControl_getCriteriaDescription(criteria) + ": ";
        if (addedFilter)
            st = " " + (FilterControl_filterState.matchAllFilters ? "and" : "or") + " " + st;
        addedFilter = true;

        $("#FilterControl_filterList").append($("<span />").text(st));

        var added = false;
        filters = criteriaArr[criteria];
        filters.sort(function (a, b) { 
            if (a.value < b.value)
                return -1;
            if (a.value > b.value)
                return 1;
            return 0;
        });

        for (i = 0; i < filters.length; i++)
        {
            if (added)
                $("#FilterControl_filterList").append(document.createTextNode(" "));
                            
            st = FilterControl_getFilterValueToShow(filters[i].criteria, filters[i].value);
            if (st.length > 60)
                st = st.substr(0, 57) + "...";
            st = (filters[i].include ? "" : "NOT ") + st;

            var buttonset = $("<span />").buttonset();

            var button = $("<button type='button' title='Edit filter' />").text(st).data("filter", filters[i]).click(FilterControl_editFilterButton_Click);
            button.button().addClass("FilterControl_FilterButton");
            $("#FilterControl_filterList").append(button);

            button = $("<button type='button' title='Delete filter' />").text(st).data("filter", filters[i]).click(FilterControl_removeFilterButton_Click);
            button.button({ text: false, icons: { primary: "ui-icon-close" } }).addClass("FilterControl_FilterButton");
            buttonset.append(button);

            $("#FilterControl_filterList").append(buttonset);
            added = true;
        }
    }
}

function FilterControl_filterCriteriaSelect_Change() 
{
    FilterControl_updateControls(true);
}

function FilterControl_setFilterDataToControls(filter)
{
    $("#FilterControl_filterCriteriaSelect").val(filter.criteria);
    $("#FilterControl_filterTypeSelect").val(filter.include.toString());

    FilterControl_updateControls();

    if ($("#FilterControl_filterValueEdit").is(":visible"))
        $("#FilterControl_filterValueEdit").val(filter.value);
    else
        $("#FilterControl_filterValueSelect").val(filter.value);
}

function FilterControl_addFilterButton_Click()
{
    FilterControl_filterState.currentFilter = new FilterControl_Filter();
    FilterControl_filterState.adding = true;
    FilterControl_updateControls();
    FilterControl_setFilterDataToControls(FilterControl_filterState.currentFilter);
    $(this).blur();
}

function FilterControl_removeAllFiltersYesButton_Click()
{
    $(".FilterControl_RemoveAllFilterArea").show();
    $(".FilterControl_RemoveAllFilterConfirmArea").hide();

    FilterControl_filterState.filterList.length = 0;
    FilterControl_filterState.currentFilter = null;
    FilterControl_updateControls();
    FilterControl_updateFilterList();
    FilterControl_saveFilters(true);
}

function FilterControl_removeAllFiltersNoButton_Click()
{
    $(".FilterControl_RemoveAllFilterArea").show();
    $(".FilterControl_RemoveAllFilterConfirmArea").hide();
}

function FilterControl_removeAllFilterButton_Click()
{
    if (FilterControl_filterState.filterList.length == 0)
        return;

    $(".FilterControl_RemoveAllFilterArea").hide();
    $(".FilterControl_RemoveAllFilterConfirmArea").show();
}

function FilterControl_filterMode_Click()
{
    FilterControl_filterState.matchAllFilters = $("#FilterControl_andModeFilterRadio").is(":checked");
    FilterControl_updateFilterList();
    FilterControl_saveFilters(FilterControl_filterState.filterList.length > 1);
}

function FilterControl_validateEnteredData()
{
    if (!$("#FilterControl_filterCriteriaSelect").val())
    {
        $("#FilterControl_errorLabel").show().text("Please select filter criteria");
        return false;
    }

    if ($("#FilterControl_filterValueEdit").is(":visible"))
    {
        if (!$("#FilterControl_filterValueEdit").val()) 
        {
            $("#FilterControl_errorLabel").show().text("Please enter filter value");
            return false;
        }
    }
    else
    {
        if (!$("#FilterControl_filterValueSelect").val())
        {
            $("#FilterControl_errorLabel").show().text("Please choose filter value");
            return false;
        }
    }

    return true;
}

function FilterControl_addFilter(criteria, include, value, callback)
{
    var filter = new FilterControl_Filter(criteria, include, value);
    FilterControl_filterState.filterList.push(filter);

    FilterControl_updateFilterList();
    FilterControl_filterState.currentFilter = null;
    FilterControl_updateControls();
    FilterControl_saveFilters(callback);
}

function FilterControl_applyFilterButton_Click()
{
    if (FilterControl_filterState.currentFilter == null)
        return false;

    if (!FilterControl_validateEnteredData())
        return false;

    var criteria = parseInt($("#FilterControl_filterCriteriaSelect").val(), 10);
    var include = $("#FilterControl_filterTypeSelect").val() != "false";
    var value = $("#FilterControl_filterValueEdit").is(":visible") ? $("#FilterControl_filterValueEdit").val() : $("#FilterControl_filterValueSelect").val();

    var filterChanged = (FilterControl_filterState.currentFilter.criteria != criteria) || (FilterControl_filterState.currentFilter.include != include) ||
                            (FilterControl_filterState.currentFilter.value != value);

    FilterControl_filterState.currentFilter.criteria = criteria;
    FilterControl_filterState.currentFilter.include = include;
    FilterControl_filterState.currentFilter.value = value;

    var filterExists = false;
    for (var i = 0; i < FilterControl_filterState.filterList.length; i++)
        if (FilterControl_filterState.filterList[i] === FilterControl_filterState.currentFilter)
        {
            filterExists = true;
            break;
        }

    if (!filterExists)
        FilterControl_filterState.filterList.push(FilterControl_filterState.currentFilter);

    FilterControl_updateFilterList();
    FilterControl_filterState.currentFilter = null;
    FilterControl_updateControls();
    FilterControl_saveFilters(!filterExists || filterChanged);

    return false;
}

function FilterControl_cancelFilterButton_Click()
{
    FilterControl_filterState.currentFilter = null;
    FilterControl_updateControls();
}

function FilterControl_chartMode_Click()
{
    FilterControl_filterState.chartMode = $(this).val();
    FilterControl_saveFilters(false);
    if (FilterControl_filterState.callbacks.chartModeUpdated)
        FilterControl_filterState.callbacks.chartModeUpdated();
}

function FilterControl_pdfExportButton_Click()
{
    if (FilterControl_filterState.callbacks.pdfExport)
        FilterControl_filterState.callbacks.pdfExport();
    $(this).blur();
}

function FilterControl_csvExportButton_Click()
{
    if (FilterControl_filterState.callbacks.csvExport)
        FilterControl_filterState.callbacks.csvExport();
    $(this).blur();
}

function FilterControl_init(filterCriteria, callbacks, showFilters, showChartMode)
{
    FilterControl_filterState.showFilters = showFilters;
    FilterControl_filterState.showChartMode = showChartMode;
    FilterControl_filterState.callbacks = callbacks;

    if (FilterControl_filterState.showFilters)
    {
        FilterControl_filterState.filterCriteria = filterCriteria;
        FilterControl_filterState.currentFilter = null;

        //Preparing filterCriteria values
        for (var i = 0; i < FilterControl_filterState.filterCriteria.length; i++)
            if (FilterControl_filterState.filterCriteria[i].values)
                FilterControl_filterState.filterCriteria[i].values.sort(function (a, b) { 
                    if (a.name < b.name)
                        return -1;
                    if (a.name > b.name)
                        return 1;
                    return 0;
                });

        //Filling criteria select
        var filterCriteriaSelect = $("#FilterControl_filterCriteriaSelect");
        filterCriteriaSelect.append($("<option />"));
        for (var i = 0; i < FilterControl_filterState.filterCriteria.length; i++)
            filterCriteriaSelect.append($("<option />").val(FilterControl_filterState.filterCriteria[i].id).text(FilterControl_filterState.filterCriteria[i].name));
        filterCriteriaSelect.change(FilterControl_filterCriteriaSelect_Change);

        //Events
        $("#FilterControl_addFilterButton").click(FilterControl_addFilterButton_Click);
        $("#FilterControl_removeAllFilterButton").click(FilterControl_removeAllFilterButton_Click);
        $("#FilterControl_removeAllFiltersYesButton").click(FilterControl_removeAllFiltersYesButton_Click);
        $("#FilterControl_removeAllFiltersNoButton").click(FilterControl_removeAllFiltersNoButton_Click);

        $("#FilterControl_filterEditTable").keypress(function(e) {
            if (e.which == 13) {
                FilterControl_applyFilterButton_Click();
            }
        });

        $("#FilterControl_applyFilterButton").click(FilterControl_applyFilterButton_Click);
        $("#FilterControl_cancelFilterButton").click(FilterControl_cancelFilterButton_Click);
        $("#FilterControl_andModeFilterRadio, #FilterControl_orModeFilterRadio").click(FilterControl_filterMode_Click);

        $("#FilterControl_filterModeArea").buttonset();

        FilterControl_loadFilters();
        FilterControl_updateFilterList();
    }

    $("button").button();
    $("#FilterControl_chartModeArea").buttonset();
    $("#FilterControl_dailyChartModeRadio, #FilterControl_weeklyChartModeRadio, #FilterControl_monthlyChartModeRadio").
                click(FilterControl_chartMode_Click);
    $("#FilterControl_pdfExportButton").click(FilterControl_pdfExportButton_Click);
    $("#FilterControl_csvExportButton").click(FilterControl_csvExportButton_Click);

    FilterControl_updateControls();
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0468 ]--