403Webshell
Server IP : 38.190.208.107  /  Your IP : 216.73.216.219
Web Server : nginx/1.28.1
System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
User : www ( 1000)
PHP Version : 8.2.28
Disable Function : 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,eval,assert,passthru,system,exec,shell_exec,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/wp.3/wp-content/plugins/wp-statistics/assets/dev/javascript/pages/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/wp.3/wp-content/plugins/wp-statistics/assets/dev/javascript/pages/visitors.js
/**
 * Configuration for horizontal bar charts
 */
let data;
let skipConfigs = false;

try {
    if (typeof Wp_Statistics_Visitors_Object !== 'undefined' && Wp_Statistics_Visitors_Object) {
        data = Wp_Statistics_Visitors_Object;
    } else {
        skipConfigs = true;
    }
} catch (error) {
    skipConfigs = true;
}

const barChartConfigs = skipConfigs ? [] : [
    {
        elementId: 'visitors-logged-in-users',
        data: data?.logged_in_users,
    },
    {
        elementId: 'visitors-device-categories',
        data: data?.devices,
    },
    {
        elementId: 'visitors-top-countries',
        data: data?.countries,
    },
    {
        elementId: 'visitors-top-browsers',
        data: data?.browsers,
    },
];

/**
 * Configuration for line charts
 */
const trafficChart = skipConfigs ? null : data?.traffic;

const lineChartConfigs = skipConfigs ? [] : [
    {
        elementId: 'trafficTrendsChart',
        dataSource: () => Wp_Statistics_Visitors_Object?.traffic_chart_data,
    },
    {
        elementId: 'trafficChart',
        dataSource: () => trafficChart,
    },
    {
        elementId: 'LoggedInUsersChart',
        dataSource: () => Wp_Statistics_Visitors_Object?.logged_in_chart_data,
    },
];

/**
 * Configuration for vector map
 */
const vectorMapConfig = skipConfigs ? {} : {
    elementId: 'wp-statistics-visitors-map',
    data: data?.map,
};

/**
 * Utility to check if a nested property exists
 * @param {Object} obj - The object to check
 * @param {...string} keys - The nested keys to check
 * @returns {boolean} - Whether the property exists
 */
const isPropertySet = (obj, ...keys) => {
    return keys.reduce((current, key) => current && typeof current === 'object' && key in current, obj);
};

/**
 * Render a horizontal bar chart
 * @param {Object} config - Configuration object with elementId and data
 */
const renderBarChart = ({elementId, data}) => {
    const element = document.getElementById(elementId);
    if (!element) {
        return;
    }

    if (!data?.data?.length) {
        jQuery(element).parent().html(wps_js.no_results());
        return;
    }

    try {
        wps_js.horizontal_bar(elementId, data.labels, data.data, data.icons);
    } catch (error) {
        jQuery(element).parent().html(wps_js.no_results());
    }
};

/**
 * Render a line chart
 * @param {Object} config - Configuration object with elementId and dataSource
 */
const renderLineChart = ({elementId, dataSource}) => {
    const element = document.getElementById(elementId);
    if (!element) {
        return;
    }

    const data = dataSource();
    if (!data) {
        jQuery(element).parent().html(wps_js.no_results());
        return;
    }
    try {
        wps_js.new_line_chart(data, elementId, null);
    } catch (error) {
        jQuery(element).parent().html(wps_js.no_results());
    }
};

/**
 * Render the vector map
 * @param {Object} config - Configuration object with elementId and data
 */
const renderVectorMap = ({elementId, data}) => {
    const element = document.getElementById(elementId);
    if (!element) {
        return;
    }

    if (!data?.labels?.length || !data?.data?.length) {
        jQuery(element).parent().html(wps_js.no_results());
        return;
    }

    try {
        wps_js.vectorMap(data);
    } catch (error) {
        jQuery(element).parent().html(wps_js.no_results());
    }
};

/**
 * Initialize all visualizations
 */
const initializeVisualizations = () => {
    if (typeof Wp_Statistics_Visitors_Object === 'undefined' || !Wp_Statistics_Visitors_Object) {
        return;
    }

    if (!wps_js.isset(wps_js.global, 'request_params', 'page') || wps_js.global.request_params.page !== "visitors") {
        return;
    }

    barChartConfigs.forEach(renderBarChart);
    lineChartConfigs.forEach(renderLineChart);
    renderVectorMap(vectorMapConfig);
};

initializeVisualizations();

Youez - 2016 - github.com/yon3zu
LinuXploit