public function add_comment (){ //添加评论 if(!empty ($_REQUEST['user_id'])) { $goods_id = !empty ($_REQUEST['goods_id'])?trim($_REQUEST['goods_id']):die; $user_id =trim($_REQUEST['user_id']); $user_name = !empty($_REQUEST['user_name'])?trim($_REQUEST['user_name']):$_SESSION['user_name']; $content = trim($_REQUEST['content']); $content = gbktoutf8($content); if(EC_CHARSET == 'utf-8'){ $user_name = gbktoutf8($user_name); $content = gbktoutf8($content); }else{ $user_name = utf8togbk($user_name); $content = utf8togbk($content); } $email = !empty($_REQUEST['email']) ? trim($_REQUEST['email']):$_SESSION['email'] ; $email = htmlspecialchars($email); $user_name = htmlspecialchars($user_name); $rank = !empty($_REQUEST['rank']) ? trim($_REQUEST['rank']):1 ; $msg= zy_add_comment($goods_id,$user_id,$email,$user_name,$content,$rank); jsonExit($msg); }else { $msg = rpcLang('goods.php', 'no_user_id'); $error['no_user_id'] = $msg; jsonExit($error); } }
public function search () { if(!empty($_REQUEST['keyword'])) { if(EC_CHARSET == 'utf-8'){ //$keyword = empty($_GET['keyword']) ? '': gbktoutf8(trim($_GET['keyword'])); $keyword = empty($_GET['keyword']) ? '': urldecode(trim($_GET['keyword'])); }else{ //$keyword = empty($_GET['keyword']) ? '': utf8togbk(trim($_GET['keyword'])); $keyword = empty($_GET['keyword']) ? '': urldecode(trim($_GET['keyword'])); $keyword = mb_convert_encoding($keyword,'gbk','utf-8'); } $page = !empty($_REQUEST['page']) ? intval(trim($_REQUEST['page'])) : 1; $page_size = !empty($_REQUEST['page_size']) ? intval(trim($_REQUEST['page_size'])) : 3; //计算查询结果条数 $sql_count = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table('goods') . " where goods_name like '%$keyword%' and `is_on_sale`=1 and `is_delete`=0 "; $record_count = $GLOBALS['db']->getOne($sql_count); $list = array(); if($record_count>0) { $pager = get_pager('goods_list.php', $_GET, $record_count, $page, $page_size); $arr = zy_search($keyword, $page, $page_size, $record_count); if(!empty($arr)) { $list['goods'] = $arr; $list['pager'] = $pager; }else { $list['status'] = rpcLang('goods.php', 'no_data'); } } jsonExitSearch($list); } else { $msg = rpcLang('goods.php', 'no_keyword'); jsonExit("{\"status\":\"$msg\"}"); } }
/** * 格式化商品价格 * * @access public * @param float $price 商品价格 * @return string */ function price_format($price, $change_price = true,$visibal=true) { if ($change_price && defined('ECS_ADMIN') === false) { switch ($GLOBALS['_CFG']['price_format']) { case 0: $price = number_format($price, 2, '.', ''); break; case 1: // 保留不为 0 的尾数 $price = preg_replace('/(.*)(\\.)([0-9]*?)0+$/', '\1\2\3', number_format($price, 2, '.', '')); if (substr($price, -1) == '.') { $price = substr($price, 0, -1); } break; case 2: // 不四舍五入,保留1位 $price = substr(number_format($price, 2, '.', ''), 0, -1); break; case 3: // 直接取整 $price = intval($price); break; case 4: // 四舍五入,保留 1 位 $price = number_format($price, 1, '.', ''); break; case 5: // 先四舍五入,不保留小数 $price = round($price); break; } } else { $price = number_format($price, 2, '.', ''); } $format = $GLOBALS['_CFG']['currency_format']; $str = preg_match('/^%/',$format,$str); if($str){ if(EC_CHARSET == 'utf-8'){ $str = sprintf(rpcLang("goods.php",'currency_format'),$price); if(isgbk($str)){ $str = iconv('utf-8', "gbk",$str); } return $str; }else{ return sprintf(rpcLang("goods.php",'currency_format'),$price); } }else{ if(EC_CHARSET == 'utf-8'){ $str = sprintf($GLOBALS['_CFG']['currency_format'], $price); if(isgbk($str) && $visibal == true){ $str = iconv('utf-8', "gbk",$str); } return $str; }else{ return sprintf($GLOBALS['_CFG']['currency_format'], $price); } } }
public function del_msg() { global $ecs,$db; checkLogin(); $id = isset($_GET['msg_id']) ? intval($_GET['msg_id']) : 0; if ($id > 0) { $user_id = intval($_SESSION['user_id']); $sql = 'SELECT user_id FROM ' .$ecs->table('feedback'). " WHERE msg_id = '$id' LIMIT 1"; $row = $db->getRow($sql); if ($row && $row['user_id'] == $user_id) { $sql = "DELETE FROM " .$ecs->table('feedback'). " WHERE msg_id = '$id' OR parent_id = '$id'"; $db->query($sql); $msg = rpcLang('user.php', 'del_message_success'); $code = '0'; }else { $msg = rpcLang('user.php', 'del_message_failure'); $code = '1'; } }else { $msg = rpcLang('user.php', 'del_message_failure'); $code = '1'; } jsonExit("{\"status\":\"$msg\",\"code\":\"$code\"}"); }
public function done () { global $ecs,$db,$_CFG; include_once(RPC_ROOT.'includes/lib_clips_ec.php'); include_once(RPC_ROOT.'includes/lib_payment.php'); /* 取得购物类型 */ $flow_type = isset($_SESSION['flow_type']) ? intval($_SESSION['flow_type']) : CART_GENERAL_GOODS; /* 检查购物车中是否有商品 */ $sql = "SELECT COUNT(*) FROM " . $ecs->table('cart') ." WHERE session_id = '" . SESS_ID . "' " . "AND parent_id = 0 AND is_gift = 0 AND rec_type = '$flow_type'"; if ($db->getOne($sql) == 0) { $msg = rpcLang('flow.php', 'no_goods_in_cart'); jsonExit("{\"status\":\"$msg\"}"); } /* 检查商品库存,如果使用库存,且下订单时减库存,则减少库存 */ if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { $cart_goods_stock = get_cart_goods(); $_cart_goods_stock = array(); foreach ($cart_goods_stock['goods_list'] as $value) { $_cart_goods_stock[$value['rec_id']] = $value['goods_number']; } zy_flow_cart_stock($_cart_goods_stock); unset($cart_goods_stock, $_cart_goods_stock); } /* * 检查用户是否已经登录 * 如果用户已经登录了则检查是否有默认的收货地址 * 如果没有登录则跳转到登录和注册页面 */ if (empty($_SESSION['direct_shopping']) && $_SESSION['user_id'] == 0) { /* 用户没有登录且没有选定匿名购物,转向到登录页面 */ $msg = rpcLang('user.php', 'nologin'); jsonExit("{\"status\":\"$msg\"}"); } $consignee = get_consignee($_SESSION['user_id']); /* 检查收货人信息是否完整 */ if (!check_consignee_info($consignee, $flow_type)) { $msg = rpcLang('flow.php', 'user_address_not_full'); jsonExit("{\"status\":\"$msg\"}"); } $_GET['how_oos'] = isset($_GET['how_oos']) ? intval($_GET['how_oos']) : 0; $_GET['card_message'] = isset($_GET['card_message']) ? htmlspecialchars($_GET['card_message']) : ''; $_GET['inv_type'] = !empty($_GET['inv_type']) ? htmlspecialchars($_GET['inv_type']) : ''; $_GET['inv_payee'] = isset($_GET['inv_payee']) ? htmlspecialchars($_GET['inv_payee']) : ''; $_GET['inv_content'] = isset($_GET['inv_content']) ? htmlspecialchars($_GET['inv_content']) : ''; $_GET['postscript'] = isset($_GET['postscript']) ? htmlspecialchars($_GET['postscript']) : ''; $referer = empty($_GET['referer']) ? 'Android':trim($_GET['referer']); $order = array( //'shipping_id' => intval($_POST['shipping']), 'shipping_id' => intval($_GET['shipping']),//快递id 'pay_id' => intval($_GET['payment']),//支付方式id 'pack_id' => isset($_GET['pack']) ? intval($_GET['pack']) : 0,//包装 'card_id' => isset($_GET['card']) ? intval($_GET['card']) : 0,//贺卡 'card_message' => trim($_GET['card_message']), 'surplus' => isset($_POST['surplus']) ? floatval($_POST['surplus']) : 0.00, 'integral' => isset($_POST['integral']) ? intval($_POST['integral']) : 0, 'bonus_id' => isset($_GET['bonus']) ? intval($_GET['bonus']) : 0, 'need_inv' => empty($_POST['need_inv']) ? 0 : 1, 'postscript' => trim($_POST['postscript']), 'how_oos' => isset($_LANG['oos'][$_POST['how_oos']]) ? addslashes($_LANG['oos'][$_POST['how_oos']]) : '', 'need_insure' => isset($_POST['need_insure']) ? intval($_POST['need_insure']) : 0, 'user_id' => $_SESSION['user_id'], 'add_time' => gmtime(), 'order_status' => OS_UNCONFIRMED, 'shipping_status' => SS_UNSHIPPED, 'pay_status' => PS_UNPAYED, 'agency_id' => get_agency_by_regions(array($consignee['country'], $consignee['province'], $consignee['city'], $consignee['district'])) ); if(EC_CHARSET == 'utf-8'){ $order['inv_type'] = gbktoutf8($_GET['inv_type']); $order['inv_payee'] = gbktoutf8(trim($_GET['inv_payee'])); $order['inv_content'] = gbktoutf8($_GET['inv_content']); }else{ $order['inv_type'] = utf8togbk($_GET['inv_type']); $order['inv_payee'] = utf8togbk(trim($_GET['inv_payee'])); $order['inv_content'] = utf8togbk($_GET['inv_content']); } /* 扩展信息 */ if (isset($_SESSION['flow_type']) && intval($_SESSION['flow_type']) != CART_GENERAL_GOODS) { $order['extension_code'] = $_SESSION['extension_code']; $order['extension_id'] = $_SESSION['extension_id']; } else { $order['extension_code'] = ''; $order['extension_id'] = 0; } $user_id = $_SESSION['user_id']; /* #检查积分余额是否合法 $user_id = $_SESSION['user_id']; if ($user_id > 0) { $user_info = user_info($user_id); $order['surplus'] = min($order['surplus'], $user_info['user_money'] + $user_info['credit_line']); if ($order['surplus'] < 0) { $order['surplus'] = 0; } // 查询用户有多少积分 $flow_points = flow_available_points(); // 该订单允许使用的积分 $user_points = $user_info['pay_points']; // 用户的积分总数 $order['integral'] = min($order['integral'], $user_points, $flow_points); if ($order['integral'] < 0) { $order['integral'] = 0; } } else { $order['surplus'] = 0; $order['integral'] = 0; }*/ #检查红包是否存在 if ($order['bonus_id'] > 0) { $bonus = bonus_info($order['bonus_id']); if (empty($bonus) || $bonus['user_id'] != $user_id || $bonus['order_id'] > 0 || $bonus['min_goods_amount'] > cart_amount(true, $flow_type)) { $order['bonus_id'] = 0; } } elseif (isset($_POST['bonus_sn'])) { $bonus_sn = trim($_POST['bonus_sn']); $bonus = bonus_info(0, $bonus_sn); $now = gmtime(); if (empty($bonus) || $bonus['user_id'] > 0 || $bonus['order_id'] > 0 || $bonus['min_goods_amount'] > cart_amount(true, $flow_type) || $now > $bonus['use_end_date']) { } else { if ($user_id > 0) { $sql = "UPDATE " . $ecs->table('user_bonus') . " SET user_id = '$user_id' WHERE bonus_id = '$bonus[bonus_id]' LIMIT 1"; $db->query($sql); } $order['bonus_id'] = $bonus['bonus_id']; $order['bonus_sn'] = $bonus_sn; } } /* 订单中的商品 */ $cart_goods = cart_goods($flow_type); if (empty($cart_goods)) { $msg = rpcLang('flow.php', 'no_goods_in_cart'); jsonExit("{\"status\":\"$msg\"}"); } /* 检查商品总额是否达到最低限购金额 */ if ($flow_type == CART_GENERAL_GOODS && cart_amount(true, CART_GENERAL_GOODS) < $_CFG['min_goods_amount']) { $msg = rpcLang('flow.php', 'goods_amount_not_enough'); jsonExit("{\"status\":\"$msg\"}"); } /* 收货人信息 */ foreach ($consignee as $key => $value) { $order[$key] = addslashes($value); } /* 订单中的总额 */ $total = order_fee($order, $cart_goods, $consignee); $order['bonus'] = $total['bonus']; $order['goods_amount'] = $total['goods_price']; $order['discount'] = $total['discount']; $order['surplus'] = $total['surplus']; $order['tax'] = $total['tax']; #购物车中的商品能享受红包支付的总额 $discount_amout = compute_discount_amount(); #红包和积分最多能支付的金额为商品总额 $temp_amout = $order['goods_amount'] - $discount_amout; if ($temp_amout <= 0) { $order['bonus_id'] = 0; } /* 配送方式 */ if ($order['shipping_id'] > 0) { $shipping = shipping_info($order['shipping_id']); $order['shipping_name'] = addslashes($shipping['shipping_name']); } $order['shipping_fee'] = $total['shipping_fee']; $order['insure_fee'] = $total['shipping_insure']; /* 支付方式 */ if ($order['pay_id'] > 0) { $payment = payment_info($order['pay_id']); $order['pay_name'] = addslashes($payment['pay_name']); } $order['pay_fee'] = $total['pay_fee']; $order['cod_fee'] = $total['cod_fee']; /* 商品包装 */ if ($order['pack_id'] > 0) { $pack = pack_info($order['pack_id']); $order['pack_name'] = addslashes($pack['pack_name']); } $order['pack_fee'] = $total['pack_fee']; /* 祝福贺卡 */ if ($order['card_id'] > 0) { $card = card_info($order['card_id']); $order['card_name'] = addslashes($card['card_name']); } $order['card_fee'] = $total['card_fee']; $order['order_amount'] = number_format($total['amount'], 2, '.', ''); /* 如果全部使用余额支付,检查余额是否足够 */ if ($payment['pay_code'] == 'balance' && $order['order_amount'] > 0) { if($order['surplus'] >0) //余额支付里如果输入了一个金额 { $order['order_amount'] = $order['order_amount'] + $order['surplus']; $order['surplus'] = 0; } if ($order['order_amount'] > ($user_info['user_money'] + $user_info['credit_line'])) { show_message($_LANG['balance_not_enough']); } else { $order['surplus'] = $order['order_amount']; $order['order_amount'] = 0; } } /* 如果订单金额为0(使用余额或积分或红包支付),修改订单状态为已确认、已付款 */ if ($order['order_amount'] <= 0) { $order['order_status'] = OS_CONFIRMED; $order['confirm_time'] = gmtime(); $order['pay_status'] = PS_PAYED; $order['pay_time'] = gmtime(); $order['order_amount'] = 0; } $order['integral_money'] = $total['integral_money']; $order['integral'] = $total['integral']; if ($order['extension_code'] == 'exchange_goods') { $order['integral_money'] = 0; $order['integral'] = $total['exchange_integral']; } $order['from_ad'] = !empty($_SESSION['from_ad']) ? $_SESSION['from_ad'] : '0'; $order['referer'] = !empty($_SESSION['referer']) ? addslashes($_SESSION['referer']) : ''; /* 记录扩展信息 */ if ($flow_type != CART_GENERAL_GOODS) { $order['extension_code'] = $_SESSION['extension_code']; $order['extension_id'] = $_SESSION['extension_id']; } $affiliate = unserialize($_CFG['affiliate']); if(isset($affiliate['on']) && $affiliate['on'] == 1 && $affiliate['config']['separate_by'] == 1) { //推荐订单分成 $parent_id = get_affiliate(); if($user_id == $parent_id) { $parent_id = 0; } } elseif(isset($affiliate['on']) && $affiliate['on'] == 1 && $affiliate['config']['separate_by'] == 0) { //推荐注册分成 $parent_id = 0; } else { //分成功能关闭 $parent_id = 0; } $order['parent_id'] = $parent_id; /* 插入订单表 */ $error_no = 0; do { $order['order_sn'] = get_order_sn(); //获取新订单号 $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'), $order, 'INSERT'); $error_no = $GLOBALS['db']->errno(); if ($error_no > 0 && $error_no != 1062) { die($GLOBALS['db']->errorMsg()); } } while ($error_no == 1062); //如果是订单号重复则重新提交数据 $new_order_id = $db->insert_id(); $order['order_id'] = $new_order_id; /* 插入订单商品 */ $sql = "INSERT INTO " . $ecs->table('order_goods') . "( " . "order_id, goods_id, goods_name, goods_sn, goods_number, market_price, ". "goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id) ". " SELECT '$new_order_id', goods_id, goods_name, goods_sn, goods_number, market_price, ". "goods_price, goods_attr, is_real, extension_code, parent_id, is_gift, goods_attr_id". " FROM " .$ecs->table('cart') . " WHERE session_id = '".SESS_ID."' AND rec_type = '$flow_type'"; $db->query($sql); /* 修改拍卖活动状态 */ if ($order['extension_code']=='auction') { $sql = "UPDATE ". $ecs->table('goods_activity') ." SET is_finished='2' WHERE act_id=".$order['extension_id']; $db->query($sql); } /* 处理余额、积分、红包 */ if ($order['user_id'] > 0 && $order['surplus'] > 0) { log_account_change($order['user_id'], $order['surplus'] * (-1), 0, 0, 0, sprintf($_LANG['pay_order'], $order['order_sn'])); } if ($order['user_id'] > 0 && $order['integral'] > 0) { log_account_change($order['user_id'], 0, 0, 0, $order['integral'] * (-1), sprintf($_LANG['pay_order'], $order['order_sn'])); } if ($order['bonus_id'] > 0 && $temp_amout > 0) { use_bonus($order['bonus_id'], $new_order_id); } /* 如果使用库存,且下订单时减库存,则减少库存 */ if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { //change_order_goods_storage($order['order_id'], true, SDT_PLACE); } error_log('1',3,'flow.log'); /* 给商家发邮件 */ /* 增加是否给客服发送邮件选项 */ if ($_CFG['send_service_email'] && $_CFG['service_email'] != '') { error_log('2',3,'flow.log'); $tpl = get_mail_template('remind_of_new_order'); /* $smarty->assign('order', $order); $smarty->assign('goods_list', $cart_goods); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('send_date', date($_CFG['time_format'])); $content = $smarty->fetch('str:' . $tpl['template_content']); */ send_mail($_CFG['shop_name'], $_CFG['service_email'], $tpl['template_subject'], $content, $tpl['is_html']); } error_log('2',3,'flow.log'); /* 如果需要,发短信 */ if ($_CFG['sms_order_placed'] == '1' && $_CFG['sms_shop_mobile'] != '') { include_once(RPC_ROOT.'includes/cls_sms.php'); $sms = new sms(); $msg = $order['pay_status'] == PS_UNPAYED ? $_LANG['order_placed_sms'] : $_LANG['order_placed_sms'] . '[' . $_LANG['sms_paid'] . ']'; $sms->send($_CFG['sms_shop_mobile'], sprintf($msg, $order['consignee'], $order['tel']), 0); } error_log('3',3,'flow.log'); /* 如果订单金额为0 处理虚拟卡 */ if ($order['order_amount'] <= 0) { $sql = " SELECT goods_id, goods_name, goods_number AS num FROM ".$GLOBALS['ecs']->table('cart') . " WHERE is_real = 0 AND extension_code = 'virtual_card'". " AND session_id = '".SESS_ID."' AND rec_type = '$flow_type'"; $res = $GLOBALS['db']->getAll($sql); error_log('4',3,'flow.log'); $virtual_goods = array(); foreach ($res AS $row) { $virtual_goods['virtual_card'][] = array('goods_id' => $row['goods_id'], 'goods_name' => $row['goods_name'], 'num' => $row['num']); } if ($virtual_goods AND $flow_type != CART_GROUP_BUY_GOODS) { /* 虚拟卡发货 */ if (virtual_goods_ship($virtual_goods,$msg, $order['order_sn'], true)) { /* 如果没有实体商品,修改发货状态,送积分和红包 */ $sql = "SELECT COUNT(*)" . " FROM " . $ecs->table('order_goods') . " WHERE order_id = '$order[order_id]' " . " AND is_real = 1"; if ($db->getOne($sql) <= 0) { /* 修改订单状态 */ update_order($order['order_id'], array('shipping_status' => SS_SHIPPED, 'shipping_time' => gmtime())); error_log('5',3,'flow.log'); /* 如果订单用户不为空,计算积分,并发给用户;发红包 */ if ($order['user_id'] > 0) { /* 取得用户信息 */ $user = user_info($order['user_id']); /* 计算并发放积分 */ $integral = integral_to_give($order); log_account_change($order['user_id'], 0, 0, intval($integral['rank_points']), intval($integral['custom_points']), sprintf($_LANG['order_gift_integral'], $order['order_sn'])); error_log('6',3,'flow.log'); /* 发放红包 */ send_order_bonus($order['order_id']); } } } } } /* 清空购物车 */ clear_cart($flow_type); error_log('7',3,'flow.log'); /* 清除缓存,否则买了商品,但是前台页面读取缓存,商品数量不减少 */ clear_all_files(); /* 插入支付日志 */ //$order['log_id'] = insert_pay_log($new_order_id, $order['order_amount'], PAY_ORDER); error_log('8',3,'flow.log'); /*取得支付代码 #取得支付信息,生成支付代码 if ($order['order_amount'] > 0) { $payment = payment_info($order['pay_id']); include_once('includes/modules/payment/' . $payment['pay_code'] . '.php'); $pay_obj = new $payment['pay_code']; $pay_online = $pay_obj->get_code($order, unserialize_config($payment['pay_config'])); $order['pay_desc'] = $payment['pay_desc']; $smarty->assign('pay_online', $pay_online); } */ if(!empty($order['shipping_name'])) { $order['shipping_name']=trim(stripcslashes($order['shipping_name'])); } error_log('9',3,'flow.log'); /* #订单信息 $smarty->assign('order', $order); $smarty->assign('total', $total); $smarty->assign('goods_list', $cart_goods); $smarty->assign('order_submit_back', sprintf($_LANG['order_submit_back'], $_LANG['back_home'], $_LANG['goto_user_center'])); // 返回提示 */ //user_uc_call('add_feed', array($order['order_id'], BUY_GOODS)); //推送feed到uc unset($_SESSION['flow_consignee']); // 清除session中保存的收货人信息 unset($_SESSION['flow_order']); unset($_SESSION['direct_shopping']); $order_done = array('order'=>$order,'total'=>$total,'cart_goods'=>$cart_goods); //var_dump($order_done);exit; error_log('10',3,'flow.log'); $order_id = $order['order_id']; $price = $order['order_amount']; $order = array ('order_id'=>$order_id,'order_number'=>$order['order_sn'],'price'=>$price) ; error_log('11',3,'flow.log'); //print_r($order);die; jsonExit($order); }
public function collect () { $result = array(); $goods_id = $_REQUEST['goods_id']; if (!isset($_SESSION['user_id']) || $_SESSION['user_id'] == 0) { $result['status'] = rpcLang('user.php', 'nologin'); $result['code']='1'; jsonExit($result); } else { /* 检查是否已经存在于用户的收藏夹 */ $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('collect_goods') . " WHERE user_id='$_SESSION[user_id]' AND goods_id = '$goods_id'"; if ($GLOBALS['db']->GetOne($sql) > 0) { $result['status'] = rpcLang('goods.php', 'collect_existed'); $result['code']='1'; jsonExit($result); } else { $time = gmtime(); $sql = "INSERT INTO " .$GLOBALS['ecs']->table('collect_goods'). " (user_id, goods_id, add_time)" . "VALUES ('$_SESSION[user_id]', '$goods_id', '$time')"; if ($GLOBALS['db']->query($sql) === false) { $result['message'] = rpcLang("goods.php", "collect_failure"); jsonExit($result); } else { $result['status'] = rpcLang("goods.php", 'collect_success'); $result['code']='0'; jsonExit($result); } } } }
/* 检查是否已经存在于用户的收藏夹 */ $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('collect_goods') . " WHERE user_id='$_SESSION[user_id]' AND goods_id = '$goods_id'"; if ($GLOBALS['db']->GetOne($sql) > 0) { $result['status'] = rpcLang('goods.php', 'collect_existed'); $result['code']='1'; jsonExit($result); } else { $time = gmtime(); $sql = "INSERT INTO " .$GLOBALS['ecs']->table('collect_goods'). " (user_id, goods_id, add_time)" . "VALUES ('$_SESSION[user_id]', '$goods_id', '$time')"; if ($GLOBALS['db']->query($sql) === false) { $result['message'] = rpcLang("goods.php", "collect_failure"); jsonExit($result); } else { $result['status'] = rpcLang("goods.php", 'collect_success'); $result['code']='0'; jsonExit($result); } } } } ?>
$flashdb[] = array('src'=>$val[1],'url'=>$val[2],'text'=>$val[3],'sort'=>$val[4]); } } } else { // 兼容v2.7.0及以前版本 if (!preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"/', file_get_contents(ROOT_PATH . 'data/cycle_image.xml'), $t, PREG_SET_ORDER)) { preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"/', file_get_contents(ROOT_PATH . 'data/cycle_image.xml'), $t, PREG_SET_ORDER); } if (!empty($t)) { foreach ($t as $key => $val) { $val[4] = isset($val[4]) ? $val[4] : 0; $flashdb[] = array('src'=>$val[1],'url'=>$val[2]); } } } jsonExit($flashdb); }else { $msg = rpcLang('goods.php', 'error_action'); jsonExit("{\"status\":\"$msg\"}"); } ?>
}else { $list['status'] = rpcLang('goods.php', 'no_data'); } } /* else { $list['status'] = rpcLang('goods.php', 'no_data'); } */ jsonExit($list); } else { $msg = rpcLang('goods.php', 'no_keyword'); jsonExit("{\"status\":\"$msg\"}"); } } else if ($act=="homeShow") { //hot best new 三模块块显示 $type = !empty($_GET['type']) ? $_GET['type'] : 'best'; $page = !empty($_REQUEST['page']) ? intval(trim($_REQUEST['page'])) : 1; $orderStr = !empty($_REQUEST['orderStr']) ? trim($_REQUEST['orderStr']) : "shop_price"; $orderVal = !empty($_REQUEST['orderVal']) ? trim($_REQUEST['orderVal']) : "0"; $page_size = !empty($_REQUEST['page_size']) ? intval(trim($_REQUEST['page_size'])) : 10; //正序 倒叙排列 if ($orderVal == "0") {
// } /* 写入密码提示问题和答案 */ if (!empty($passwd_answer) && !empty($sel_question)) { $sql = 'UPDATE ' . $ecs->table('users') . " SET `passwd_question`='$sel_question', `passwd_answer`='$passwd_answer' WHERE `user_id`='" . $_SESSION['user_id'] . "'"; $db->query($sql); } $msg = rpcLang('user.php', 'registered_suc'); $code = '0'; jsonExit("{\"status\":\"$msg\",\"username\":\"$username\",\"code\":\"$code\"}"); } else { $msg = rpcLang('user.php', 'registered_err'); $code = '1'; jsonExit("{\"status\":\"$msg\",\"code\":\"$code\"}"); } } /* 验证用户注册用户名是否可以注册 */ elseif ($act == 'is_registered') { include_once(RPC_ROOT . 'includes/lib_passport.php'); $username = trim($_GET['username']); $username = json_str_iconv($username); if ($user->check_user($username) || admin_registered($username)) {
/** * 更新购物车中的商品数量 * * @access public * @param array $arr * @return void */ function zy_flow_update_cart($arr) { /* 处理 */ foreach ($arr AS $key => $val) { $val = intval(make_semiangle($val)); if ($val <= 0 && !is_numeric($key)) { continue; } //查询: $sql = "SELECT `goods_id`, `goods_attr_id`, `extension_code` FROM" .$GLOBALS['ecs']->table('cart'). " WHERE rec_id='$key' AND session_id='" . SESS_ID . "'"; $goods = $GLOBALS['db']->getRow($sql); $sql = "SELECT g.goods_name, g.goods_number ". "FROM " .$GLOBALS['ecs']->table('goods'). " AS g, ". $GLOBALS['ecs']->table('cart'). " AS c ". "WHERE g.goods_id = c.goods_id AND c.rec_id = '$key'"; $row = $GLOBALS['db']->getRow($sql); //查询:系统启用了库存,检查输入的商品数量是否有效 if (intval($GLOBALS['_CFG']['use_storage']) > 0 && $goods['extension_code'] != 'package_buy') { if ($row['goods_number'] < $val) { // show_message(sprintf($GLOBALS['_LANG']['stock_insufficiency'], $row['goods_name'], // $row['goods_number'], $row['goods_number'])); $msg = sprintf(rpcLang('flow.php', 'stock_insufficiency'), $row['goods_name'],$row['goods_number'], $row['goods_number']); error_log(">kucun",3,'flow.model.log'); return $msg; exit; // $msg['status'] = rpcLang("goods.php", "no_enough_goods"); // error_log(">kucun",3,'flow.model.log'); // jsonExit($msg['status']); } /* 是货品 */ /*$goods['product_id'] = trim($goods['product_id']); if (!empty($goods['product_id'])) { $sql = "SELECT product_number FROM " .$GLOBALS['ecs']->table('products'). " WHERE goods_id = '" . $goods['goods_id'] . "' AND product_id = '" . $goods['product_id'] . "'"; $product_number = $GLOBALS['db']->getOne($sql); if ($product_number < $val) { // show_message(sprintf($GLOBALS['_LANG']['stock_insufficiency'], $row['goods_name'], // $product_number['product_number'], $product_number['product_number'])); $msg = sprintf(rpcLang('flow.php', 'stock_insufficiency'), $row['goods_name'],$product_number['product_number'], $product_number['product_number']); return $msg; exit; } }*/ } elseif (intval($GLOBALS['_CFG']['use_storage']) > 0 && $goods['extension_code'] == 'package_buy') { if (judge_package_stock($goods['goods_id'], $val)) { // show_message($GLOBALS['_LANG']['package_stock_insufficiency']); $msg = rpcLang("flow.php", 'package_stock_insufficiency'); return $msg; exit; } } /* 查询:检查该项是否为基本件 以及是否存在配件 */ /* 此处配件是指添加商品时附加的并且是设置了优惠价格的配件 此类配件都有parent_id goods_number为1 */ $sql = "SELECT b.goods_number, b.rec_id FROM " .$GLOBALS['ecs']->table('cart') . " a, " .$GLOBALS['ecs']->table('cart') . " b WHERE a.rec_id = '$key' AND a.session_id = '" . SESS_ID . "' AND a.extension_code <> 'package_buy' AND b.parent_id = a.goods_id AND b.session_id = '" . SESS_ID . "'"; $offers_accessories_res = $GLOBALS['db']->query($sql); //订货数量大于0 if ($val > 0) { /* 判断是否为超出数量的优惠价格的配件 删除*/ $row_num = 1; while ($offers_accessories_row = $GLOBALS['db']->fetchRow($offers_accessories_res)) { if ($row_num > $val) { $sql = "DELETE FROM " . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '" . SESS_ID . "' " . "AND rec_id = '" . $offers_accessories_row['rec_id'] ."' LIMIT 1"; $GLOBALS['db']->query($sql); } $row_num ++; } /* 处理超值礼包 */ if ($goods['extension_code'] == 'package_buy') { //更新购物车中的商品数量 $sql = "UPDATE " .$GLOBALS['ecs']->table('cart'). " SET goods_number = '$val' WHERE rec_id='$key' AND session_id='" . SESS_ID . "'"; } /* 处理普通商品或非优惠的配件 */ else { $attr_id = empty($goods['goods_attr_id']) ? array() : explode(',', $goods['goods_attr_id']); $goods_price = get_final_price($goods['goods_id'], $val, true, $attr_id); //更新购物车中的商品数量 $sql = "UPDATE " .$GLOBALS['ecs']->table('cart'). " SET goods_number = '$val', goods_price = '$goods_price' WHERE rec_id='$key' AND session_id='" . SESS_ID . "'"; } } //订货数量等于0 else { /* 如果是基本件并且有优惠价格的配件则删除优惠价格的配件 */ while ($offers_accessories_row = $GLOBALS['db']->fetchRow($offers_accessories_res)) { $sql = "DELETE FROM " . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '" . SESS_ID . "' " . "AND rec_id = '" . $offers_accessories_row['rec_id'] ."' LIMIT 1"; $GLOBALS['db']->query($sql); } $sql = "DELETE FROM " .$GLOBALS['ecs']->table('cart'). " WHERE rec_id='$key' AND session_id='" .SESS_ID. "'"; } $msg = $GLOBALS['db']->query($sql); } /* 删除所有赠品 */ $sql = "DELETE FROM " . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '" .SESS_ID. "' AND is_gift <> 0"; $GLOBALS['db']->query($sql); return $msg; }
/** * * 检测用户是否等录 * */ function checkLogin() { if(empty($_SESSION['user_id'])) { $msg = rpcLang('user.php', 'nologin'); jsonExit("{\"status\":\"$msg\"}"); } }
/** * 取消一个用户订单 * * @access public * @param int $order_id 订单ID * @param int $user_id 用户ID * * @return void */ function zy_cancel_order($order_id, $user_id = 0) { /* 查询订单信息,检查状态 */ $sql = "SELECT user_id, order_id, order_sn , surplus , integral , bonus_id, order_status, shipping_status, pay_status FROM " .$GLOBALS['ecs']->table('order_info') ." WHERE order_id = '$order_id'"; $order = $GLOBALS['db']->GetRow($sql); if (empty($order)) { $msg = rpcLang('user.php', 'order_exist'); $code = '1'; $result = array($msg,$code); return $result; exit; } // 如果用户ID大于0,检查订单是否属于该用户 if ($user_id > 0 && $order['user_id'] != $user_id) { $msg = rpcLang('user.php', 'no_priv'); $code = '1'; $result = array($msg,$code); return $result; exit; } // 订单状态只能是“未确认”或“已确认” if ($order['order_status'] != OS_UNCONFIRMED && $order['order_status'] != OS_CONFIRMED) { $msg = rpcLang('user.php', 'current_os_not_unconfirmed'); $code = '1'; $result = array($msg,$code); return $result; exit; } //订单一旦确认,不允许用户取消 if ( $order['order_status'] == OS_CONFIRMED) { $msg = rpcLang('user.php', 'current_os_already_confirmed'); $code = '1'; $result = array($msg,$code); return $result; exit; } // 发货状态只能是“未发货” if ($order['shipping_status'] != SS_UNSHIPPED) { $msg = rpcLang('user.php', 'current_ss_not_cancel'); $code = '1'; $result = array($msg,$code); return $result; exit; } // 如果付款状态是“已付款”、“付款中”,不允许取消,要取消和商家联系 if ($order['pay_status'] != PS_UNPAYED) { $msg = rpcLang('user.php', 'current_ps_not_cancel'); $code = '1'; $result = array($msg,$code); return $result; exit; } //将用户订单设置为取消 $sql = "UPDATE ".$GLOBALS['ecs']->table('order_info') ." SET order_status = '".OS_CANCELED."' WHERE order_id = '$order_id'"; if ($GLOBALS['db']->query($sql)) { /* 记录log */ order_action($order['order_sn'], OS_CANCELED, $order['shipping_status'], PS_UNPAYED,$GLOBALS['_LANG']['buyer_cancel'],'buyer'); /* 退货用户余额、积分、红包 */ if ($order['user_id'] > 0 && $order['surplus'] > 0) { $change_desc = sprintf(rpcLang('user.php', 'return_surplus_on_cancel'), $order['order_sn']); log_account_change($order['user_id'], $order['surplus'], 0, 0, 0, $change_desc); } if ($order['user_id'] > 0 && $order['integral'] > 0) { $change_desc = sprintf(rpcLang('user.php', 'return_integral_on_cancel'), $order['order_sn']); log_account_change($order['user_id'], 0, 0, 0, $order['integral'], $change_desc); } if ($order['user_id'] > 0 && $order['bonus_id'] > 0) { change_user_bonus($order['bonus_id'], $order['order_id'], false); } /* 如果使用库存,且下订单时减库存,则增加库存 */ if ($GLOBALS['_CFG']['use_storage'] == '1' && $GLOBALS['_CFG']['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order['order_id'], false, 1); } /* 修改订单 */ $arr = array( 'bonus_id' => 0, 'bonus' => 0, 'integral' => 0, 'integral_money' => 0, 'surplus' => 0 ); update_order($order['order_id'], $arr); $code = '0'; $result = array(1,$code); return $result; } else { $code = '1'; $result = array(0,$code); return $result; } }
/** * 获得商品的详细信息 * * @access public * @param integer $goods_id * @return void */ function zy_get_goods_info($goods_id) { $time = gmtime(); $sql = 'SELECT g.goods_id,g.cat_id,g.goods_name,g.goods_sn,g.goods_weight,g.goods_number,g.add_time,g.click_count,'. 'g.goods_brief,g.market_price,g.shop_price,g.goods_thumb,g.promote_price ,g.is_new,g.is_best,'. 'g.is_hot,g.promote_start_date,g.promote_end_date,g.is_promote,g.integral,g.goods_img,g.goods_desc,' .' c.measure_unit, b.brand_id, b.brand_name AS goods_brand,'. // ' m.type_money AS bonus_money, ' . 'IFNULL(AVG(r.comment_rank), 0) AS comment_rank, ' . "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS rank_price " . 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON g.cat_id = c.cat_id ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON g.brand_id = b.brand_id ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('comment') . ' AS r '. 'ON r.id_value = g.goods_id AND comment_type = 0 AND r.parent_id = 0 AND r.status = 1 ' . // 'LEFT JOIN ' . $GLOBALS['ecs']->table('bonus_type') . ' AS m ' . // "ON g.bonus_type_id = m.type_id AND m.send_start_date <= '$time' AND m.send_end_date >= '$time'" . " LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ". "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ". "WHERE g.goods_id = '$goods_id' AND g.is_delete = 0 " . "GROUP BY g.goods_id"; // echo $sql;exit; $row = $GLOBALS['db']->getRow($sql); if ($row !== false) { /* 用户评论级别取整 */ $row['comment_rank'] = ceil($row['comment_rank']) == 0 ? 5 : ceil($row['comment_rank']); //去除商品详情的html $row['goods_desc'] = preg_replace('/<.*?>|\[.*?\]/', '',$row['goods_desc']); /* 获得商品的销售价格 */ $row['market_price'] = price_format($row['market_price']); $row['shop_price_formated'] = price_format($row['shop_price']); /* 修正促销价格 */ if ($row['promote_price'] > 0) { $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']); } else { $promote_price = 0; } $row['promote_price'] = $promote_price > 0 ? price_format($promote_price) : ''; //price_format($row['promote_price']); // /* 处理商品水印图片 */ // $watermark_img = ''; // // if ($promote_price != 0) // { // $watermark_img = "watermark_promote"; // } // elseif ($row['is_new'] != 0) // { // $watermark_img = "watermark_new"; // } // elseif ($row['is_best'] != 0) // { // $watermark_img = "watermark_best"; // } // elseif ($row['is_hot'] != 0) // { // $watermark_img = 'watermark_hot'; // } // // if ($watermark_img != '') // { // $row['watermark_img'] = $watermark_img; // } // // $row['promote_price_org'] = $promote_price; // $row['promote_price'] = price_format($promote_price); /* 修正重量显示 */ if(EC_CHARSET == 'gbk'){ $row['goods_weight'] = (intval($row['goods_weight']) > 0) ? $row['goods_weight'] . rpcLang('goods.php', 'kilogram') : ($row['goods_weight'] * 1000) .rpcLang('goods.php', 'gram'); } else { $row['goods_weight'] = (intval($row['goods_weight']) > 0) ? $row['goods_weight'] . utf8rpcLang('goods.php', 'kilogram') : ($row['goods_weight'] * 1000) .utf8rpcLang('goods.php', 'gram'); } /* 修正上架时间显示 */ $row['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']); $row['rank_prices'] = zy_get_user_rank_prices($goods_id, $row['shop_price']); /* 促销时间倒计时 */ $time = gmtime(); if ($time >= $row['promote_start_date'] && $time <= $row['promote_end_date']) { $row['gmt_end_time'] = $row['promote_end_date']; } else { $row['gmt_end_time'] = 0; } /* 是否显示商品库存数量 */ $row['goods_number'] = ($GLOBALS['_CFG']['use_storage'] == 1) ? $row['goods_number'] : ''; /* 修正积分:转换为可使用多少积分(原来是可以使用多少钱的积分) */ // $row['integral'] = $GLOBALS['_CFG']['integral_scale'] ? round($row['integral'] * 100 / $GLOBALS['_CFG']['integral_scale']) : 0; // // /* 修正优惠券 */ // $row['bonus_money'] = ($row['bonus_money'] == 0) ? 0 : price_format($row['bonus_money'], false); /* 修正商品图片 */ $row['goods_img'] = get_image_path($goods_id, $row['goods_img']); $row['goods_thumb'] = get_image_path($goods_id, $row['goods_thumb'], true); return $row; } else { return false; } }
$price_grade = $db->getAll($sql); $price_arr = array(); foreach ($price_grade as $key=>$val) { $price_arr[$key]['goods_num'] = $val['goods_num']; $price_arr[$key]['start'] = $row['min'] + round($dx * $val['sn']); $price_arr[$key]['end'] = $row['min'] + round($dx * ($val['sn'] + 1)); } } else { $result = rpcLang('category.php', 'prices_empty'); jsonExit("{\"status\":\"$result\"}"); } jsonExit($price_arr); } else { $result = rpcLang('category.php', 'act_not_exsist'); jsonExit("{\"status\":\"$result\"}"); } /** * 获得分类的信息 * * @param integer $cat_id * * @return void */ function get_cat_info($cat_id) { return $GLOBALS['db']->getRow('SELECT cat_name, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('category') . " WHERE cat_id = '$cat_id'"); }
* ECSHOP rpc Widget接口 * * $Author: lilixing $ * $Id: article.php 15013 2012-1-12 11:18:42Z lilixing $ */ define('IN_ECS', true); include_once('includes/init.php'); $act = empty($_GET['act']) ? 'list': $_GET['act']; $act_arr = array('list','info','ShopAnnouncement','recommendGoods'); if(!in_array($act,$act_arr)) { $msg = rpcLang('user.php', 'require_login'); jsonExit("{\"status\":\"$msg\"}"); } if ($act == 'list')//文章列表 { $article_list = index_get_new_articles(); jsonExit($article_list); }else if($act == 'info')//文章信息 { $article_id = isset($_GET['id']) ? intval($_GET['id']) : 0; $article = array(); if($article_id > 0) { $article = get_article_info($article_id);
{ $goods_id = !empty ($_REQUEST['goods_id'])?trim($_REQUEST['goods_id']):die; $user_id =trim($_REQUEST['user_id']); $user_name = !empty($_REQUEST['user_name'])?trim($_REQUEST['user_name']):$_SESSION['user_name']; $user_name = utf8togbk($user_name); $email = !empty($_REQUEST['email']) ? trim($_REQUEST['email']):$_SESSION['email'] ; $email = htmlspecialchars($email); $user_name = htmlspecialchars($user_name); $content = trim($_REQUEST['content']); $content = utf8togbk($content); $rank = !empty($_REQUEST['rank']) ? trim($_REQUEST['rank']):1 ; $msg= zy_add_comment($goods_id,$user_id,$email,$user_name,$content,$rank); jsonExit($msg); }else { $msg = rpcLang('goods.php', 'no_user_id'); $error['no_user_id'] = $msg; jsonExit($error); } } /** * 查询评论内容 * * @access public * @params integer $id * @params integer $type * @params integer $page * @params integer $size * @return array
public function search () { /** * 参数描述: * @var id 分类id. * @var page 当前页. * @var brand 品牌id. * @var price_max 最高价格. * @var price_min 最低价格. * @var order 排序方式. @enum.<'ASC', 'DESC'> * @var sort 排序字段.@enum.<'goods_id', 'shop_price', 'last_update'> * @var filter_attr table goods_attr 中goods_attr_id使用"."连接。例如9.10.11 */ global $_CFG,$ecs,$db; $cat_id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0; if (!$cat_id) { $result = rpcLang('category.php', 'goodslist_failure'); jsonExit("{\"status\":\"$result\"}"); } $cat = get_cat_info($cat_id); // 获得分类的相关信息 if (empty($cat)) { $result = rpcLang('category.php', 'search_cat_failure'); jsonExit("{\"status\":\"$result\"}"); } $page = isset($_REQUEST['page']) && intval($_REQUEST['page']) > 0 ? intval($_REQUEST['page']) : 1; // $size = isset($_CFG['page_size']) && intval($_CFG['page_size']) > 0 ? intval($_CFG['page_size']) : 1; $size = 10; //品牌筛选. $brand = isset($_REQUEST['brand']) && intval($_REQUEST['brand']) > 0 ? intval($_REQUEST['brand']) : 0; //价格区间 $price_max = isset($_REQUEST['price_max']) && intval($_REQUEST['price_max']) > 0 ? intval($_REQUEST['price_max']) : 0; $price_min = isset($_REQUEST['price_min']) && intval($_REQUEST['price_min']) > 0 ? intval($_REQUEST['price_min']) : 0; //属性筛选.格式1.2.3 / attr_id使用.分割 $filter_attr_str = isset($_REQUEST['filter_attr']) ? htmlspecialchars(trim($_REQUEST['filter_attr'])) : '0'; $filter_attr_str = urldecode($filter_attr_str); $filter_attr = empty($filter_attr_str) ? '' : explode('.', trim($filter_attr_str)); /* 排序、方式及类型 */ $default_sort_order_method = $_CFG['sort_order_method'] == '0' ? 'DESC' : 'ASC'; $default_sort_order_type = $_CFG['sort_order_type'] == '0' ? 'goods_id' : ($_CFG['sort_order_type'] == '1' ? 'shop_price' : 'last_update'); $sort = (isset($_REQUEST['sort']) && in_array(trim(strtolower($_REQUEST['sort'])), array('goods_id', 'shop_price', 'last_update'))) ? trim($_REQUEST['sort']) : $default_sort_order_type; $order = (isset($_REQUEST['order']) && in_array(trim(strtoupper($_REQUEST['order'])), array('ASC', 'DESC'))) ? trim($_REQUEST['order']) : $default_sort_order_method; $children = get_children($cat_id); //属性筛选 $ext = ''; if (!empty($filter_attr)) { $ext_sql = "SELECT DISTINCT(b.goods_id) FROM " . $ecs->table('goods_attr') . " AS a, " . $ecs->table('goods_attr') . " AS b " . "WHERE "; $ext_group_goods = array(); foreach ($filter_attr AS $k => $v)// 查出符合所有筛选属性条件的商品id */ { if (!is_numeric($v) || $v == 0) continue; $sql = $ext_sql . "b.attr_value = a.attr_value AND a.goods_attr_id = " . $v; $ext_group_goods = $db->getColCached($sql); $ext .= ' AND ' . db_create_in($ext_group_goods, 'g.goods_id'); } } $count = get_cagtegory_goods_count($children, $brand, $price_min, $price_max, $ext); $max_page = ($count> 0) ? ceil($count / $size) : 1; if ($page > $max_page) $page = $max_page; $goodslist = category_get_goods($children, $brand, $price_min, $price_max, $ext, $size, $page, $sort, $order); if (!$goodslist) { $goodslist = rpcLang('category.php', 'goodslist_empty'); } $goodslist = array_values($goodslist); $pager = get_pager('category.php', $_GET, $count, $page, $size); //print_r(array('goods_list'=>$goodslist, 'pager'=>$pager));exit; jsonExit(array('goods_list'=>$goodslist, 'pager'=>$pager)); }