EcShop充值卡功能插件(4)

在admin下
创建kt_card.php


 

代码如下
<?php


define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');


if (empty($_REQUEST['act']))
{
    $_REQUEST['act'] = 'cat';
}
else
{
    $_REQUEST['act'] = trim($_REQUEST['act']);
}


$exc = new exchange($ecs->table('kt_bcards'), $db, 'card_id', 'card_sn');


//-- 翻页、排序


if ($_REQUEST['act'] == 'query')
{
    $list = get_order_list();

    $smarty->assign('type_list',    $list['item']);
    $smarty->assign('filter',       $list['filter']);
    $smarty->assign('record_count', $list['record_count']);
    $smarty->assign('page_count',   $list['page_count']);

    $sort_flag  = sort_flag($list['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);

    make_json_result($smarty->fetch('ks_order_list.htm'), '',
        array('filter' => $list['filter'], 'page_count' => $list['page_count']));
}


//-- 修改储值卡价格


if ($_REQUEST['act'] == 'edit_fee')
{
    
    $card_id     = !empty($_REQUEST['id'])    ? intval($_REQUEST['id'])    : 0;
   
    $smarty->assign('lang',         $_LANG);
    $smarty->assign('ur_here',     '修改储值卡价格');
    $smarty->assign('action_link', array('text' => '储值卡列表', 'href' => "kt_card.php?act=list"));
    $smarty->assign('action',       'edit_fee');
    $smarty->assign('form_act',     'update_fee');
    $smarty->assign('cfg_lang',     $_CFG['lang']);

    $list = $db->getRow("SELECT * FROM " .$ecs->table('kt_bcards'). " WHERE card_id = '$card_id'");

    $smarty->assign('card',    $list);

    assign_query_info();
    $smarty->display('kt_card_fee.htm');
}



//-- 修改储值卡价格


if ($_REQUEST['act'] == 'update_fee')
{
    
    $card_id     = !empty($_REQUEST['id'])    ? intval($_REQUEST['id'])    : 0;
    $card_type   = !empty($_REQUEST['card_type'])    ? intval($_REQUEST['card_type'])    : 0;
   
    $sql = "UPDATE " .$ecs->table('kt_bcards'). " SET ".
           "card_type        = '$card_type', ".
           "card_bonus        = '$card_type' ".
           "WHERE card_id    = '$card_id'";

   $db->query($sql);
   
   
    $log_info = "初始化储值卡余额" . $card_type . "元,储值卡id为:".$card_id ;

    $sql = 'INSERT INTO ' . $ecs->table('admin_log') . ' (log_time, user_id, log_info, ip_address) ' .
            " VALUES ('" . gmtime() . "', $_SESSION[admin_id], '" . stripslashes($log_info) . "', '" . real_ip() . "')";
    $db->query($sql);
   
    $url = "kt_card.php?act=list";

    ecs_header("Location: $url\n");
    exit;
 
}


//-- 导出线下发放的信息

if ($_REQUEST['act'] == 'excel')
{
    @set_time_limit(0);


   
    $bonus_filename = "储值卡" .'_bonus_list';
    if (EC_CHARSET != 'gbk')
    {
        $bonus_filename = ecs_iconv('UTF8', 'GB2312',$bonus_filename);
    }

    header("Content-type: application/vnd.ms-excel; charset=utf-8");
    header("Content-Disposition: attachment; filename=$bonus_filename.xls");

   
    if (EC_CHARSET != 'gbk')
    {
        echo ecs_iconv('UTF8', 'GB2312', '储值卡序号') ."\t";
        echo ecs_iconv('UTF8', 'GB2312', '储值卡密码') ."\t\n";
    }
    else
    {
        echo "储值卡序号" ."\t";
        echo "储值卡密码" ."\t\n";
    }

    $val = array();
    $sql = "SELECT card_sn, card_pwd ".
           "FROM ".$ecs->table('kt_bcards').
           "ORDER BY card_id";
    $res = $db->query($sql);

    $code_table = array();
    while ($val = $db->fetchRow($res))
    {
        echo $val['card_sn'] . "\t";
        echo $val['card_pwd'] . "\t";
        echo "\t\n";
    }
}


//-- 订单列表

if ($_REQUEST['act'] == 'order')
{
      $id = intval($_GET['id']);
      $keywords      = trim($_POST['keywords']);
    $smarty->assign('ur_here',     '储值卡订单列表');
    $smarty->assign('action_link', array('text' => '礼品卡类型', 'href' => 'kt_card.php?act=order'));
    $smarty->assign('full_page',   1);

    $list = get_order_list($id,$keywords);

    $smarty->assign('type_list',    $list['item']);
    $smarty->assign('filter',       $list['filter']);
    $smarty->assign('record_count', $list['record_count']);
    $smarty->assign('page_count',   $list['page_count']);

    $sort_flag  = sort_flag($list['filter']);
    $smarty->assign($sort_flag['tag'], $sort_flag['img']);

    assign_query_info();
    $smarty->display('kt_order_list.htm');
}


//-- 修改订单状态

if ($_REQUEST['act'] == 'order_status')
{
    check_authz_json('card_and_card');

    $id = intval($_GET['id']);
    $stat = intval($_GET['stat']);
   
    switch ($stat)
    {
        case 0:
        $sqlstat = "order_status        = 1 ";
        break;
       
        case 1:
        $sqlstat = "order_status        = 2 ";
        break;
       
        case 2:
        $sqlstat = "order_status        = 3 ";
        break;
       
        case 3:
        $sqlstat = "order_status        = 0 ";
        break;
       
        default:
        $sqlstat = "order_status        = 0 ";
    }
 
   $sql = "UPDATE " .$ecs->table('kt_order'). " SET ".
           $sqlstat .
           "WHERE order_id    = '$id'";

   $db->query($sql);

    $url = "kt_card.php?act=order";

    ecs_header("Location: $url\n");
    exit;

}


//-- 礼品卡订单详情


if ($_REQUEST['act'] == 'order_info')
{
   
     
    $order_id     = !empty($_REQUEST['id'])    ? intval($_REQUEST['id'])    : 0;
   
    $smarty->assign('lang',         $_LANG);
    $smarty->assign('ur_here',     '订单详情');
    $smarty->assign('action_link', array('text' => '订单列表', 'href' => "kt_card.php?act=order"));
    $smarty->assign('action',       'order_info');

    $smarty->assign('form_act',     'order_update');
    $smarty->assign('cfg_lang',     $_CFG['lang']);

    $list = $db->getRow("SELECT * FROM " .$ecs->table('kt_order'). " WHERE order_id = '$order_id'");

    $smarty->assign('order',    $list);

    assign_query_info();
    $smarty->display('kt_order_info.htm');

}


//-- 订单编辑页面


if ($_REQUEST['act'] == 'order_update')
{

   
    $id        = !empty($_POST['id'])    ? intval($_POST['id'])    : 0;
    $order_fee       = !empty($_POST['order_fee'])    ? floatval($_POST['order_fee'])    : 0.00;
    $order_exc      = !empty($_POST['order_exc'])    ? floatval($_POST['order_exc'])    : 0.00;
    $order_clr   = !empty($_POST['order_clr'])    ? intval($_POST['order_clr'])    : 0;
    $order_user      = !empty($_POST['order_user'])  ? trim($_POST['order_user'])    : '';
    $order_address   = !empty($_POST['order_address'])  ? trim($_POST['order_address'])    : '';
    $order_tel      = !empty($_POST['order_tel'])  ? trim($_POST['order_tel'])    : '';
    $order_phone      = !empty($_POST['order_phone'])  ? trim($_POST['order_phone'])    : '';
    $order_bak      = !empty($_POST['order_bak'])  ? trim($_POST['order_bak'])    : '';
    $shipping_time      = !empty($_POST['shipping_time'])  ? trim($_POST['shipping_time'])    : '';


    $sql = "UPDATE " .$ecs->table('kt_order'). " SET ".
           "order_fee        = '$order_fee', ".
           "order_exc        = '$order_exc', ".
           "order_clr        = '$order_clr', ".
           "order_user        = '$order_user', ".
           "order_address        = '$order_address', ".
           "order_tel        = '$order_tel', ".
           "order_phone         = '$order_phone', ".
           "order_bak         = '$order_bak', ".
           "shipping_time         = '$shipping_time' ".
           "WHERE order_id    = '$id'";

   $db->query($sql);

  
  
   clear_cache_files();

  
   $link[] = array('text' => '返回此订单' , 'href' => "kt_card.php?act=order_info&id=$id");
   sys_msg($_LANG['edit'] .' '.$_POST['type_name'].' '. $_LANG['attradd_succed'], 0, $link);
  
  }
 

//-- 储值卡商品配送信息

if ($_REQUEST['act'] == 'goods')
{
      $id = $_GET['gid'];
     
    $smarty->assign('ur_here',     '储值卡配送商品');
    $smarty->assign('action_link', array('text' => '储值卡订单列表', 'href' => 'kt_card.php?act=order'));
    $smarty->assign('full_page',   1);

    $list = get_order_goods_list($id);

    $smarty->assign('type_list',    $list);

    assign_query_info();
    $smarty->display('kt_order_goods.htm');
}


//-- 储值实卡列表


if ($_REQUEST['act'] == 'list')
{
      $id   = intval($_GET['id']);
      $pageid = !empty($_REQUEST['page'])    ? intval($_REQUEST['page'])    : 1;
      $pagesize = 50;
   
    $smarty->assign('ur_here',     '储值卡实卡');
    $smarty->assign('action_link', array('text' => '生成储值卡', 'href' => "kt_card.php?act=edit_card"));
    $smarty->assign('full_page',   1);

    $list = get_card_list($id,$pagesize,$pageid);
    $pages = get_card_page($pagesize);

    $smarty->assign('type_list',    $list);
    $smarty->assign('pages',    $pages);

    assign_query_info();
    $smarty->display('kt_card_list.htm');
}


function get_card_page($pagesize)
{

    $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('kt_bcards');             
    $total = $GLOBALS['db']->getOne($sql);
   
    $total = intval($total);
    $pagesize = intval($pagesize);
   
    $pages = ceil($total/$pagesize); //计算总分页
   
    for ($i = 1; $i <= $pages; $i++)
    {
      $pagestr.="<a href="kt_card.php?act=list&page=".$i."">第".$i."页</a>&nbsp;&nbsp;";
    }

return $pagestr;

}


function get_card_list($id,$pagesize,$pageid)
{
    $startrow = ($pageid-1)*$pagesize;
 
    if(empty($id))
    {
    $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_bcards') . " ORDER BY card_id desc LIMIT $startrow,$pagesize";
   }
   else
   {
       $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_bcards') . "WHERE card_id = '$id' ORDER BY card_id desc" ;
  }
                           
    $result = $GLOBALS['db']->getAll($sql);
    $cards = array();
   
    foreach ($result AS $idx => $row)
    {
       
          $cards[$idx]['card_id']           = $row['card_id'];
        $cards[$idx]['card_sn']         = $row['card_sn'];
        $cards[$idx]['card_pwd']         = $row['card_pwd'];
        $cards[$idx]['add_time']        = local_date($GLOBALS['_CFG']['time_format'],$row['add_time']);
        $cards[$idx]['used_time']        = local_date($GLOBALS['_CFG']['time_format'],$row['used_time']);
        $cards[$idx]['card_type']        = $row['card_type'];
        $cards[$idx]['card_bonus']        = $row['card_bonus'];
       
        if($row['used_time'] == 0)
        {
        $cards[$idx]['used_time']        = $row['used_time'];
        }
        else
        {
        $cards[$idx]['used_time']        = local_date($GLOBALS['_CFG']['time_format'],$row['used_time']);
        }
       
        $cards[$idx]['order_id']        = $row['order_id'];

    }

return $cards;

}


if ($_REQUEST['act'] == 'edit_card')
{
   
   
    $smarty->assign('lang',         $_LANG);
    $smarty->assign('ur_here',     '储值卡列表');
    $smarty->assign('action_link', array('text' => '储值卡列表', 'href' => "kt_card.php?act=list"));
    $smarty->assign('action',       'edit_card');

    $smarty->assign('form_act',     'card_update');
    $smarty->assign('cfg_lang',     $_CFG['lang']);

    assign_query_info();
    $smarty->display('kt_edit_card.htm');

}


//-- 生成储值实卡


if ($_REQUEST['act'] == 'card_update')
{
   
     
      $sn_head      = !empty($_POST['sn_head'])  ? trim($_POST['sn_head'])    : '';
    $bnum     = !empty($_REQUEST['bnum'])    ? intval($_REQUEST['bnum'])    : 0;
    $cnum     = !empty($_REQUEST['cnum'])    ? intval($_REQUEST['cnum'])    : 0;
    $card_type     = !empty($_REQUEST['card_type'])    ? intval($_REQUEST['card_type'])    : 0;
   
    if($cnum != 0)
    {
    create_card($sn_head,$bnum,$cnum,$card_type);
    }
 
    $url = "kt_card.php?act=list";

    ecs_header("Location: $url\n");
    exit;
}


//-- 删除礼品卡实卡

if ($_REQUEST['act'] == 'delsn')
{
    check_authz_json('card_and_card');

    $id = intval($_GET['id']);

//   $exc->drop($id);


   
    $db->query("DELETE FROM " .$ecs->table('kt_bcards'). " WHERE card_id = '$id'");

    $url = "kt_card.php?act=list";

    ecs_header("Location: $url\n");
    exit;

}



function create_card($sn_head,$bnum,$cnum,$card_type)

{
    if($cnum != 0)
  {
    $add_time = gmtime();
    $used_time = 0;
    $cnum = $cnum + $bnum;
 
    for ($i = $bnum; $i < $cnum; $i++)
    {
        $card_sn = $sn_head . str_pad($i, 6, '0', STR_PAD_LEFT);
        $card_pwd = rancard(10,'0123456789');
       
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_bcards').
                      " WHERE card_sn = '$card_sn'" .
                      " OR card_pwd = '$card_pwd'";

        $record_arr = $GLOBALS['db']->getRow($sql);

             if (empty($record_arr))

             {
                $GLOBALS['db']->query("INSERT INTO ".$GLOBALS['ecs']->table('kt_bcards')." (card_sn, card_pwd, add_time, used_time, card_type, card_bonus) VALUES('$card_sn','$card_pwd','$add_time','$used_time','$card_type','$card_type')");
             }
             else
             {
                 break;
             }

    }
  }

}




function rancard($length,$string = '0123456789abcdefghijklmnopqrstuvwxyz') {
$rstr = '';
$strlen = strlen($string);
for ($i=0; $i<$length; $i++) {
   $rstr .= $string{mt_rand(0,$strlen-1)};
}
return $rstr;
}


function get_order_goods_list($id)
{

  
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('goods') . " WHERE goods_id in ($id)" ;
                           
    $result = $GLOBALS['db']->getAll($sql);
    $goods = array();
   
    foreach ($result AS $idx => $row)
    {
       
          $goods[$idx]['goods_id']           = $row['goods_id'];
        $goods[$idx]['goods_sn']           = $row['goods_sn'];
        $goods[$idx]['goods_name']         = $row['goods_name'];

    }

return $goods;
}



function get_goods_name($id)

{
    $sql = "SELECT goods_name FROM " .$GLOBALS['ecs']->table('goods').
               " WHERE goods_id = '$id'";
  $result = $GLOBALS['db']->getOne($sql);
 
  return $result;
              
}


function get_order_list($id,$keywords)
{
  
    $result = get_filter();
    if ($result === false)
    {
       
        $filter['sort_by']    = empty($_REQUEST['sort_by']) ? 'order_id' : trim($_REQUEST['sort_by']);
        $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);

        $sql = "SELECT COUNT(*) FROM ".$GLOBALS['ecs']->table('kt_order');
        $filter['record_count'] = $GLOBALS['db']->getOne($sql);

       
        $filter = page_and_size($filter);
        if(empty($id))
        {
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_order'). " ORDER BY $filter[sort_by] $filter[sort_order]";
        }
        else
        {
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_order'). " WHERE card_id = '$id'" . " ORDER BY $filter[sort_by] $filter[sort_order]";
        }
         if(empty($keywords))
        {
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_order'). " ORDER BY $filter[sort_by] $filter[sort_order]";
        }
        else
        {
        $card_id = get_card_id($keywords);
        $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('kt_order'). " WHERE card_id = '$card_id' ";
       
        set_filter($filter, $sql);
    }
    else
    {
        $sql    = $result['sql'];
        $filter = $result['filter'];
    }
    $arr = array();
    $res = $GLOBALS['db']->selectLimit($sql, $filter['page_size'], $filter['start']);

    while ($row = $GLOBALS['db']->fetchRow($res))
    {
        $row['order_time'] = local_date($GLOBALS['_CFG']['time_format'],$row['order_time']);
        $arr[] = $row;
    }

    $arr = array('item' => $arr, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);

    return $arr;
}



function get_card_id($keywords)

{
    $sql = "SELECT card_id FROM " .$GLOBALS['ecs']->table('kt_bcards').
               " WHERE card_sn = '$keywords'";
  $result = $GLOBALS['db']->getOne($sql);
 
  return $result;
              
}



function get_type_name($card_type)

{
    $sql = "SELECT cat_name FROM " .$GLOBALS['ecs']->table('ks_cardcats').
               " WHERE cat_id = '$card_type'";
  $result = $GLOBALS['db']->getOne($sql);
 
  return $result;
              
}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值