HEX
Server: Apache
System: Linux top 5.8.11-1.el7.elrepo.x86_64 #1 SMP Tue Sep 22 18:18:35 EDT 2020 x86_64
User: www (1000)
PHP: 7.4.33
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.018111.cn/wp-content/themes/jian/inc/admin/pages/index.php
<?php
// Exit if accessed directly.
defined('ABSPATH') || exit;
global $wpdb, $order_table_name,$paylog_table_name,$coupon_table_name,$balance_log_table_name,$ref_log_table_name,$down_log_table_name;
// Authentication
if ( ! current_user_can( 'manage_options' ) ) {
	return;
}
function query_day($star,$end){
	global $wpdb,$order_table_name;
	$sql = $wpdb->get_var("SELECT SUM(order_price) FROM $order_table_name WHERE create_time > {$star} AND create_time < {$end}");
	$sql = ($sql) ? sprintf("%.2f",$sql) : 0 ;
	$sql_ok = $wpdb->get_var("SELECT SUM(order_price) FROM $order_table_name WHERE create_time > {$star} AND create_time < {$end} AND status=1");
	$sql_ok = ($sql_ok) ? sprintf("%.2f",$sql_ok) : 0 ;
	return array('sum' => $sql,'sum_ok' => $sql_ok,'sum_no' => round(($sql-$sql_ok),2));
}
// 时间安排
$arr_itme = [
	['name' => '今日','time' => RiPLus_Time::today(),],
	['name' => '本月','time' => RiPLus_Time::month(),],
	['name' => '今年','time' => RiPLus_Time::year(),],
];

?>

<!-- 主页面 -->
<div class="wrap">

	<h1 class="wp-heading-inline">商城统计/总览</h1>
    <hr class="wp-header-end">
    <br/>
	<div class="layui-row layui-col-space15">  

		<div class="layui-col-md9">
			<div class="layui-card">
		        <div class="layui-card-header">收入统计</div>
		        <div class="layui-card-body">
					<div class="layui-row layui-col-space15">
						<?php foreach ($arr_itme as $key => $item) { 
							// 获取今日总订单
							$_time = $item['time'];
							$_count = $wpdb->get_var("SELECT COUNT(id) FROM $order_table_name WHERE create_time > {$_time[0]} AND create_time < {$_time[1]}");
							$_count = ($_count) ? $_count : 0 ;
							$_count_ok = $wpdb->get_var("SELECT COUNT(id) FROM $order_table_name WHERE create_time > {$_time[0]} AND create_time < {$_time[1]} AND status=1");
							$_count_ok = ($_count_ok) ? $_count_ok : 0 ;

							$_sum = $wpdb->get_var("SELECT SUM(order_price) FROM $order_table_name WHERE create_time > {$_time[0]} AND create_time < {$_time[1]}");
							$_sum = ($_sum) ? $_sum : 0 ;
							$_sum_ok = $wpdb->get_var("SELECT SUM(order_price) FROM $order_table_name WHERE create_time > {$_time[0]} AND create_time < {$_time[1]} AND status=1");
							$_sum_ok = ($_sum_ok) ? $_sum_ok : 0 ;
							?>
							<div class="layui-col-sm6 layui-col-md4 layui-bg-gray">
								<div class="layui-card">
						          <div class="layui-card-header">
						            <span class="layui-badge-dot layui-bg-orange"></span> <?php echo $item['name'];?>已付款</span>
						            <span class="layui-badge layui-bg-danger "><?php echo $_count_ok;?> 条</span> 
						            <span class="layui-badge-rim layuiadmin-badge">付款率 <?php echo $retVal = ($_count_ok==0 || $_count==0) ? 0 : sprintf("%.2f",$_count_ok/$_count*100) ;?>%</span>
						          </div>
						          <div class="layui-card-body layuiadmin-card-list">
						            <p class="layuiadmin-big-font">¥<?php echo $_sum_ok;?></p>
						            <p>订单总数 <span class="layui-badge-rim"><?php echo $_count;?>条</span>
						            	
						             	<span class="layuiadmin-span-color"><span class="layui-badge-dot"></span> 订单总额 <span class="layui-badge-rim">¥<?php echo $_sum;?></span></span> </p>
						          </div>
						        </div>
							</div>
						<?php } ?>
					</div>
				</div>
			</div>

			<div class="layui-card">
				<div class="layui-card-header">本月销售统计图(近30天)</div>
				<div class="layui-card-body">
					<div class="layui-row">
		              <div class="layui-col-sm12">
		                  <div id="conversionsChart" style="width: auto;height:520px;"></div>
		              </div>
		            </div>
				</div>
			</div>

		</div>

		<div class="layui-col-md3">
			<div class="layui-card">
		        <div class="layui-card-header">便捷导航</div>
		        <div class="layui-card-body">
		          <div class="layui-btn-container">
		          	<?php 
		          	$menu_btn = [
				        ['menu'=>'cao_admin','name'=>esc_html__('商城总览','cao')],
				        ['menu'=>'cao_admin_change_log','name'=>esc_html__(_cao('site_money_ua').'充值记录','cao')],
				        ['menu'=>'cao_admin_pay_log','name'=>esc_html__('资源订单','cao')],
				        ['menu'=>'cao_admin_down_log','name'=>esc_html__('下载记录','cao')],
				        ['menu'=>'cao_admin_cdk_log','name'=>esc_html__('卡密管理','cao')],
				        ['menu'=>'cao_admin_user_log','name'=>esc_html__('会员统计','cao')],
				        ['menu'=>'cao_admin_balance_log','name'=>esc_html__('余额记录','cao')],
				        ['menu'=>'cao_admin_aff_log','name'=>esc_html__('佣金管理','cao')],
				        ['menu'=>'cao_admin_price_log','name'=>esc_html__('付费资源管理','cao')],
				        ['menu'=>'wp_clean_up_page','name'=>esc_html__('数据库优化','cao')],
				    ];
		          	foreach ($menu_btn as $btn) {
		          		echo '<a class="layui-btn layui-btn-sm" href="'.admin_url('/admin.php?page='.$btn['menu']).'">'.$btn['name'].'</a>';
		          	}?>
		            
		          </div>        
		        </div>
		    </div>

		    <div class="layui-card">
		        <div class="layui-card-header">其他数据</div>
		        <div class="layui-card-body">
		          	<div class="layui-carousel layadmin-carousel layadmin-backlog" lay-anim="" lay-indicator="inside" lay-arrow="none" style="width: 100%;">
	                  <div carousel-item="">
	                    <ul class="layui-row layui-col-space10 layui-this">
	                      <li class="layui-col-xs6">
	                        <a lay-href="app/content/comment.html" class="layadmin-backlog-body">
	                          <h3>文章总数</h3>
	                          <p><?php $count_posts = wp_count_posts(); echo $published_posts =$count_posts->publish;?></p>
	                        </a>
	                      </li>
	                      <li class="layui-col-xs6">
	                        <a lay-href="app/content/comment.html" class="layadmin-backlog-body">
	                          <h3>资源文章数</h3>
	                          <?php $sqls = $wpdb->get_var($wpdb->prepare("SELECT COUNT(post_id) FROM $wpdb->postmeta WHERE meta_key=%s AND meta_value=%s", 'cao_status',1));
	                          ?>
	                          <p><?php echo $sqls ? $sqls : '0' ?></p>
	                        </a>
	                      </li>

	                      <li class="layui-col-xs6">
	                        <a lay-href="app/forum/list.html" class="layadmin-backlog-body">
	                          <h3>用户总数</h3>
	                          <p><?php $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users"); echo $users; ?></p>
	                        </a>
	                      </li>
	                      <li class="layui-col-xs6">
	                        <a lay-href="template/goodslist.html" class="layadmin-backlog-body">
	                          <h3><?php echo _cao('site_vip_name')?>会员总数</h3>
	                          <?php // 查询meta
	    						$user_vip = $wpdb->get_var($wpdb->prepare("SELECT COUNT(user_id) FROM $wpdb->usermeta WHERE meta_key=%s AND meta_value=%s", 'cao_user_type', 'vip'));
	    						?>
	                          <p><?php echo $user_vip ? $user_vip : '0'; ?></p>
	                        </a>
	                      </li>
	                      <li class="layui-col-xs6">
	                        <a lay-href="template/goodslist.html" class="layadmin-backlog-body">
	                          <h3>总余额池 / <?php echo _cao('site_money_ua')?></h3>
	                          <?php // 查询meta
	    						$sqls = $wpdb->get_var($wpdb->prepare("SELECT SUM(meta_value) FROM $wpdb->usermeta WHERE meta_key=%s", 'cao_balance'));
	    						?>
	                          <p><?php echo $sqls ? sprintf('%0.2f', $sqls) : '0' ?></p>
	                        </a>
	                      </li>
	                      <li class="layui-col-xs6">
	                        <a lay-href="template/goodslist.html" class="layadmin-backlog-body">
	                          <h3>累计佣金池 / ¥</h3>
	                          <?php // 查询meta
	    						$sqls = $wpdb->get_var($wpdb->prepare("SELECT SUM(meta_value) FROM $wpdb->usermeta WHERE meta_key=%s", 'cao_total_bonus'));
	    						?>
	                          <p><?php echo $sqls ? sprintf('%0.2f', $sqls) : '0' ?></p>
	                        </a>
	                      </li>
	                    </ul>
	                  </div>
		    		</div>
		    	</div>
		    </div>
			
		    <div class="layui-card">
		        <div class="layui-card-header">最新动态</div>
		        <div class="layui-card-body">
		        	<?php
					//////// 构造SQL START ////////
					$sql = "SELECT * FROM {$balance_log_table_name}";
					$sql .= ' WHERE 1=1';
					$sql .= ' ORDER BY time DESC';
					$sql .= ' LIMIT 5';
					$result = $wpdb->get_results($sql);
					//////// 构造SQL END ////////
					?>
					<dl class="layuiadmin-card-status">
					<?php 
					if($result) {
						foreach($result as $item){
							$userss = get_user_by('id',$item->user_id);
							$user_loginname = ($userss->user_login) ? $userss->user_login : '游客' ;?>
			            	<dd><div><p><?php echo $user_loginname ?> : <?php echo $item->note?></p><span><?php echo date('Y-m-d H:i:s',$item->time)?></span> </div></dd>
			        <?php }} ?>
            		</dl>
		        </div>
		    </div>

		</div>


	</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.0.0/dist/echarts.min.js"></script>
<script type="text/javascript">
<?php $day=[];
// 获取30天时间
for ($i=0; $i < 30; $i++) { 
	$_day = 30-$i;
	$time=mktime(0, 0, 0, date('m'), date('d') - $_day, date('Y'));
	$day[$i] = date('Y-m-d',$time);
}
echo "var time_arr =". json_encode($day).";";
$__day=[];
// 获取30天时间
for ($i=0; $i < 30; $i++) { 
	$_d = 30-$i;
	$time=mktime(0, 0, 0, date('m'), date('d') - $_d, date('Y'));
	$__day[$i] = $time;
}
$__sum_data = [];
$__sum_ok_data = [];
$__sum_no_data = [];
foreach ($__day as $k => $time) {
	$end=$time+24*60*60;
	$query = query_day($time,$end);
	$__sum_data[$k] = $query['sum'];
	$__sum_ok_data[$k] = $query['sum_ok'];
	$__sum_no_data[$k] = $query['sum_no'];
}
echo "var __sum_data =". json_encode($__sum_data).";";
echo "var __sum_ok_data =". json_encode($__sum_ok_data).";";
echo "var __sum_no_data =". json_encode($__sum_no_data).";";
?>

var myChart = echarts.init(document.getElementById('conversionsChart'));
var option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: {            // 坐标轴指示器,坐标轴触发有效
            type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
        }
    },
    legend: {
        data: ['总订单','已付款', '未付款', ]
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            data: time_arr
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ],
    series: [

        {
            name: '总订单',
            type: 'bar',
            data: __sum_data
        },
        {
            name: '已付款',
            type: 'bar',
            data: __sum_ok_data
        },
        {
            name: '未付款',
            type: 'bar',
            data: __sum_no_data
        },
        
    ]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

</script>