HEX
Server: nginx/1.18.0
System: Linux iZj6c1ieg2jrpk1z5tzi19Z 6.3.9-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 21 22:18:40 EDT 2023 x86_64
User: www (1001)
PHP: 8.2.4
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.cytocare.cn/wp-content/plugins/woo-discount-rules/v2/Assets/Js/admin-statistics.js
var isjQueryReady = false;
var isGoogleChartsReady = false;
var isInitialized = false;
var response_content;

google.charts.load('current', {'packages': ['line']});
google.charts.setOnLoadCallback(googleChartsLoadCallback);

function googleChartsLoadCallback() {
    isGoogleChartsReady = true;
    init();
}

jQuery(document).ready(function () {
    isjQueryReady = true;
    jQuery('.chart-type').select2({width: "260px"});
    init();

});

function init() {
    if (!isjQueryReady || !isGoogleChartsReady || isInitialized) {
        return;
    }
    isInitialized = true;

    jQuery('.chart-period').change(function () {
        var val = jQuery(this).val();
        var start_date = jQuery(this).closest('form').find('.chart-period-start');
        var end_date = jQuery(this).closest('form').find('.chart-period-end');
        var now = new Date();
        if (val === 'this_week') {
            now.setDate(now.getDate() - now.getDay() + 1);
            start_date.val(format_date(now));
            now.setDate(now.getDate() + 6);
            end_date.val(format_date(now));
        } else if (val === 'this_month') {
            var start_month = new Date(now.getFullYear(), now.getMonth(), 1);
            start_date.val(format_date(start_month));
            var end_month = new Date(now.getFullYear(), now.getMonth() + 1, 0);
            end_date.val(format_date(end_month));
        }
    });

    jQuery('.chart-period-start, .chart-period-end').change(function () {
        jQuery(this).closest('form').find('.chart-period').val('custom');
    });

    jQuery('.chart-options').submit(function (e) {
        e.preventDefault();

        var params = jQuery(this).serialize();
        showChart(params);

        return false;
    });

    jQuery('.coupon-options').submit(function (e) {
        e.preventDefault();

        var params = jQuery(this).serialize();
        loadCouponDetails(params);

        return false;
    });

    jQuery('#wdr-statistics-tabs li a').click(function() {
        if (!jQuery(this).hasClass('active')){
            jQuery('#wdr-statistics-tabs li a').removeClass('active');
            jQuery(this).addClass('active');

            jQuery('.wdr-statistics-container').hide();
            jQuery(jQuery(this).data('target')).fadeIn('slow');
        }
    });

    jQuery(window).resize(function () {
        if (response_content && response_content.data.chart.columns.length > 1) {
            renderChart(response_content.data.chart);
        }
    });

    jQuery('.chart-period').change();
    jQuery('.chart-options').submit();
    jQuery('.coupon-options').submit();
}

function renderChart(data) {
    var datatable = new google.visualization.DataTable();

    if (data.columns) {
        data.columns.forEach(function (item, i) {
            datatable.addColumn(0 === i ? 'string' : 'number', item);
        });
    }

    if (data.rows) {
        datatable.addRows(Object.values(data.rows));

        var formatter = new google.visualization.NumberFormat({
            fractionDigits: 2
        });

        formatter.format(datatable, 1);
    }

    var chart_width = jQuery("#chart-container").width();
    var chart_height = jQuery(window).height() - jQuery("#chart-container").offset().top;

    if (200 > chart_height) {
        chart_height = 200;
    }


    var options = {
        chart: {
            title: data.title ? data.title : '',
            subtitle: data.subtitle ? data.subtitle : '',
        },
        width: chart_width,
        height: chart_height,
    };

    var chart = new google.charts.Line(document.getElementById('chart-container'));

    chart.draw(datatable, options);
}

function showChart(params) {
    /*jQuery('.update-chart').prop('disabled', true);*/
    /*jQuery('.chart-placeholder').addClass('loading');*/
    let loader = jQuery('.woo_discount_loader');
    loader.show();

    jQuery("#info-container").find("#total-orders, #total-revenue, #discounted-amount, #total-free-shipping").html("-");

    jQuery.post(
        ajaxurl,
        {
            action: 'wdr_admin_statistics',
            method: 'get_chart_data',
            params: params,
        },
        function (response) {
            loader.hide();
            /*jQuery('.update-chart').prop('disabled', false);*/
            /*jQuery('.chart-placeholder').removeClass('loading');*/
            if (response.success && response.data.chart.columns && response.data.chart.columns.length > 1) {
                response_content = response;
                renderChart(response.data.chart);
                jQuery("#info-container").show();
                if (response.data.other) {
                    jQuery("#info-container #total-orders").html(response.data.other.total_orders);
                    jQuery("#info-container #total-revenue").html(response.data.other.revenue);
                    jQuery("#info-container #discounted-amount").html(response.data.other.discounted_amount);
                    jQuery("#info-container #total-free-shipping").html(response.data.other.total_free_shipping);
                }
            } else {
                jQuery("#chart-container").html(wdr_data.localization_data.chart_data);
                jQuery("#info-container").hide();
            }
        },
        'json'
    );
}

function loadCouponDetails(params) {
    let loader = jQuery('.woo_discount_loader');
    loader.show();
    jQuery.post(
        ajaxurl,
        {
            action: 'wdr_admin_statistics',
            method: 'get_coupon_data',
            params: params,
        },
        function (response) {
            loader.hide();
            if (response.success && response.data && response.data.length) {
                jQuery("#coupon-container .no-data").hide();
                jQuery("#coupon-container .list-coupons").show();
                jQuery("#coupon-container table tbody").html('');
                response.data.forEach(function(row) {
                    jQuery("#coupon-container table tbody").append('<tr><td>' + row.name + '</td><td>' + row.orders + '</td><td>' + row.amount + '</td></tr>')
                });
            }else {
                jQuery('#coupon-container .list-coupons').hide();
                jQuery('#coupon-container .no-data').html(wdr_data.localization_data.chart_data).show();
            }
        },
        'json'
    );
}

function to2Digits(num) {
    return num < 10 ? ('0' + num) : num;
}

function format_date(date) {
    return [
        to2Digits(date.getFullYear()),
        to2Digits(date.getMonth() + 1),
        to2Digits(date.getDate())
    ].join('-');
}