function get_flash_xml() { $flashdb = array(); if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml')) { // 兼容v2.7.0及以前版本 if (!preg_match_all('/item_url="([^"]+)"\\slink="([^"]+)"\\stext="([^"]*)"\\ssort="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER)) { preg_match_all('/item_url="([^"]+)"\\slink="([^"]+)"\\stext="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER); } if (!empty($t)) { foreach ($t as $key => $val) { $val[4] = isset($val[4]) ? $val[4] : 0; $val[2] = substr($val[2], 0, 4) == 'http' ? $val[2] : dirname($GLOBALS['ecs']->url()) . '/' . $val[2]; $flashdb[] = array('photo' => array('small' => API_DATA('PHOTO', $val[1]), 'thumb' => API_DATA('PHOTO', $val[1]), 'url' => API_DATA('PHOTO', $val[1])), 'url' => $val[2], 'description' => $val[3]); } } } return $flashdb; }
function display() { if (empty($this->vars) && empty($this->_var)) { return false; } if (isset($this->vars)) { $this->_var = $this->vars; } switch ($this->apiName) { // case 'search': // $data = array(); // $data['goods'] = API_DATA("SIMPLEGOODS", $this->_var['goods_list']); // if (!empty($this->_var['pager'])) { // $pager = array( // "total" => $this->_var['pager']['record_count'], // "count" => count($this->_var['goods_list']), // "more" => empty($this->_var['pager']['page_next']) ? 0 : 1 // ); // } else { // $pager = NULL; // } // GZ_Api::outPut($data, $pager); // break; case 'list': print_r($this->_var); exit; GZ_Api::outPut(API_DATA("SIMPLEORDER", $this->_var['orders'])); break; case 'goods': print_r($this->_var['goods']); exit; break; default: print_r($this->_var); break; } }
// } // } // $sql = "SELECT COUNT(*) FROM " .$ecs->table('order_info'). " WHERE user_id = '$user_id'". GZ_order_query_sql($type); // print_r($sql);exit; $pager = get_pager('user.php', array('act' => $action), $record_count, $page, $page_parm['count']); $orders = GZ_get_user_orders($user_id, $pager['size'], $pager['start'], $type); // print_r($orders);exit; foreach ($orders as $key => $value) { unset($orders[$key]['order_status']); $orders[$key]['order_time'] = formatTime($value['order_time']); $goods_list = GZ_order_goods($value['order_id']); //$orders[$key]['ss'] = $goods_list; $goods_list_t = array(); // $goods_list = API_DATA("SIMPLEGOODS", $goods_list); foreach ($goods_list as $v) { $goods_list_t[] = array("goods_id" => $v['goods_id'], "name" => $v['goods_name'], "goods_number" => $v['goods_number'], "subtotal" => price_format($v['subtotal'], false), "formated_shop_price" => price_format($v['goods_price'], false), "img" => array('small' => API_DATA('PHOTO', $v['goods_thumb']), 'thumb' => API_DATA('PHOTO', $v['goods_img']), 'url' => API_DATA('PHOTO', $v['original_img']))); } $orders[$key]['goods_list'] = $goods_list_t; $order_detail = get_order_detail($value['order_id'], $user_id); $orders[$key]['formated_integral_money'] = $order_detail['formated_integral_money']; //积分 钱 $orders[$key]['formated_bonus'] = $order_detail['formated_bonus']; //红包 钱 $orders[$key]['formated_shipping_fee'] = $order_detail['formated_shipping_fee']; //运送费 if ($order_detail['pay_id'] > 0) { $payment = payment_info($order_detail['pay_id']); } $subject = $orders[$key]['goods_list'][0]['name'] . '等' . count($orders[$key]['goods_list']) . '种商品'; $orders[$key]['order_info'] = array('pay_code' => $payment['pay_code'], 'order_amount' => $order_detail['order_amount'], 'order_id' => $order_detail['order_id'], 'subject' => $subject, 'desc' => $subject, 'order_sn' => $order_detail['order_sn']); }
case 'list': include_once EC_PATH . '/includes/lib_clips.php'; $page = GZ_Api::$pagination; $user_id = $_SESSION['user_id']; $rec_id = _POST('rec_id', 0); $add = ''; if ($rec_id) { $add = " AND rec_id < {$rec_id} "; } $record_count = $db->getOne("SELECT COUNT(*) FROM " . $ecs->table('collect_goods') . " WHERE user_id='{$user_id}' {$add}"); $smarty->assign('goods_list', GZ_get_collection_goods($user_id, $page['count'], $page['page'], $rec_id)); $smarty->assign('url', $ecs->url()); $smarty->assign('user_id', $user_id); $data = array(); foreach ($smarty->_var['goods_list'] as $key => $value) { $temp = API_DATA("SIMPLEGOODS", $value); $temp['rec_id'] = $value['rec_id']; $data[] = $temp; } $pager = get_pager('collection', array(), $record_count, $page['page'], $page['count']); GZ_Api::outPut($data, array("total" => $record_count, "count" => count($data), "more" => intval($pager['page_count'] > $pager['page']))); break; default: GZ_Api::outPut(101); break; } /** * 获取指定用户的收藏商品列表 * * @access public * @param int $user_id 用户ID
require EC_PATH . '/includes/init.php'; include_once EC_PATH . '/includes/lib_transaction.php'; $categoryGoods = array(); $category = get_categories_tree(); if (!empty($category)) { foreach ($category as $key => $val) { $goods = array(); $children = get_children($val['id']); $goods = gz_get_category_recommend_goods('best', $children); if (count($goods) > 3) { $goods = array_slice($goods, 0, 3); } $ngoods = array(); if (!empty($goods)) { foreach ($goods as $k => $v) { $ngoods[] = array('id' => $v['id'], 'name' => $v['name'], 'market_price' => $v['market_price'], 'shop_price' => $v['shop_price'], 'promote_price' => $v['promote_price'], 'brief' => $v['brief'], 'img' => array('thumb' => API_DATA('PHOTO', $v['goods_img']), 'url' => API_DATA('PHOTO', $v['original_img']), 'small' => API_DATA('PHOTO', $v['thumb']))); } } $categoryGoods[] = array('id' => $val['id'], 'name' => $val['name'], 'goods' => $ngoods); } } // print_r($categoryGoods);exit; function gz_get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min = 0, $max = 0, $ext = '') { $brand_where = $brand > 0 ? " AND g.brand_id = '{$brand}'" : ''; $price_where = $min > 0 ? " AND g.shop_price >= {$min} " : ''; $price_where .= $max > 0 ? " AND g.shop_price <= {$max} " : ''; $sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' . "IFNULL(mp.user_price, g.shop_price * '{$_SESSION['discount']}') AS shop_price, " . 'promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, g.original_img, b.brand_name ' . 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' . 'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' . "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.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ' . $brand_where . $price_where . $ext; $num = 0; $type2lib = array('best' => 'recommend_best', 'new' => 'recommend_new', 'hot' => 'recommend_hot', 'promote' => 'recommend_promotion'); $num = get_library_number($type2lib[$type]);
GZ_Api::outPut($cart_goods['total']); break; case 'delete': $rec_id = _POST('rec_id', 0); flow_drop_cart_goods($rec_id); $cart_goods = get_cart_goods(); GZ_Api::outPut($cart_goods['total']); break; case 'list': $GLOBALS['_CFG']['show_goods_in_cart'] = 3; $cart_goods = gz_get_cart_goods(); if (!empty($cart_goods['goods_list'])) { foreach ($cart_goods['goods_list'] as $key => $value) { unset($cart_goods['goods_list'][$key]['user_id']); unset($cart_goods['goods_list'][$key]['session_id']); $cart_goods['goods_list'][$key]['img'] = array('thumb' => API_DATA("PHOTO", $value['goods_img']), 'url' => API_DATA("PHOTO", $value['original_img']), 'small' => API_DATA("PHOTO", $value['goods_thumb'])); // $cart_goods['goods_list'][$key]['id'] = $value['rec_id']; if (isset($cart_goods['goods_list'][$key]['product_id'])) { unset($cart_goods['goods_list'][$key]['product_id']); } unset($cart_goods['goods_list'][$key]['goods_thumb']); if (!empty($value['goods_attr'])) { $goods_attr = explode("\n", $value['goods_attr']); $goods_attr = array_filter($goods_attr); $cart_goods['goods_list'][$key]['goods_attr'] = array(); foreach ($goods_attr as $v) { $a = explode(':', $v); if (!empty($a[0]) && !empty($a[1])) { $cart_goods['goods_list'][$key]['goods_attr'][] = array('name' => $a[0], 'value' => $a[1]); } }
function API_DATA($type, $readData) { $outData = array(); if (empty($readData)) { return $readData; } if (is_array($readData)) { $first = current($readData); if ($first && is_array($first)) { foreach ($readData as $key => $value) { $outData[] = API_DATA($type, $value); } return array_filter($outData); } } switch ($type) { case 'PHOTO': $outData = getImage($readData); break; case 'SIMPLEGOODS': $outData = array("goods_id" => $readData['goods_id'], "name" => $readData['goods_name'], "market_price" => $readData['market_price'], "shop_price" => $readData['shop_price'], "promote_price" => $readData['promote_price'], "img" => array('thumb' => API_DATA('PHOTO', $readData['goods_img']), 'url' => API_DATA('PHOTO', $readData['original_img']), 'small' => API_DATA('PHOTO', $readData['goods_thumb']))); break; case 'SEARCHGOODS': $outData = array("goods_id" => $readData['goods_id'], "name" => $readData['goods_name'], "market_price" => $readData['market_price'], "shop_price" => $readData['shop_price'], "promote_price" => $readData['promote_price'], "cart_num" => $readData['cart_num'], "img" => array('thumb' => API_DATA('PHOTO', $readData['goods_img']), 'url' => API_DATA('PHOTO', $readData['original_img']), 'small' => API_DATA('PHOTO', $readData['goods_thumb']))); break; case 'ADDRESS': $outData = array("id" => 15, "consignee" => "联系人姓名", "email" => "联系人email", "country" => "国家id", "province" => "省id", "city" => "城市id", "district" => "地区id", "address" => "详细地址", "zipcode" => "邮政编码", "tel" => "联系电话", "mobile" => "手机", "sign_building" => "标志建筑", "best_time" => "最佳送货时间"); break; case 'SIGNUPFIELDS': $outData = array("id" => 12, "name" => "说明", "need" => 0); break; case 'CONFIG': $outData = array("shop_closed" => 0, "close_comment" => "关闭原因"); break; case 'CATEGORY': $outData = array("id" => 12, "name" => "分类名称", "children" => array('id' => 13, 'name' => 'ssss')); break; case 'SIMPLEORDER': $outData = array("id" => $readData['order_id'], "order_sn" => $readData['order_sn'], "order_time" => $readData['order_time'], "order_status" => $readData['order_status'], "total_fee" => $readData['total_fee']); break; case 'GOODS': $readData['original_img'] || ($readData['original_img'] = $readData['goods_thumb']); $outData = array("id" => $readData['goods_id'], "cat_id" => $readData['cat_id'], "goods_sn" => $readData['goods_sn'], "goods_name" => $readData['goods_name'], "month_sumbuy" => $readData['month_sumbuy'], "collected" => $readData['collected'], "market_price" => $readData['market_price'], "shop_price" => price_format($readData['shop_price'], false), "integral" => $readData['integral'], "click_count" => $readData['click_count'], "brand_id" => $readData['brand_id'], "goods_number" => is_numeric($readData['goods_number']) ? $readData['goods_number'] : 65535, "goods_weight" => $readData['goods_weight'], "promote_price" => $readData['promote_price_org'], "formated_promote_price" => price_format($readData['promote_price_org'], false), "promote_start_date" => bjTime($readData['promote_start_date']), "promote_end_date" => bjTime($readData['promote_end_date']), "is_shipping" => $readData['is_shipping'], "img" => array('thumb' => API_DATA('PHOTO', $readData['goods_img']), 'url' => API_DATA('PHOTO', $readData['original_img']), 'small' => API_DATA('PHOTO', $readData['goods_thumb'])), "rank_prices" => array(), "pictures" => array(), "properties" => array(), "specification" => array()); foreach ($readData['rank_prices'] as $key => $value) { $outData['rank_prices'][] = array("id" => $key, "rank_name" => $value['rank_name'], "price" => $value['price']); } foreach ($readData['pictures'] as $key => $value) { $outData['pictures'][] = array("small" => API_DATA('PHOTO', $value['thumb_url']), "thumb" => API_DATA('PHOTO', $value['thumb_url']), "url" => API_DATA('PHOTO', $value['img_url'])); } if (!empty($readData['properties'])) { // $readData['properties'] = current($readData['properties']); foreach ($readData['properties'] as $key => $value) { // 处理分组 foreach ($value as $k => $v) { $v['value'] = strip_tags($v['value']); $outData['properties'][] = $v; } } } foreach ($readData['specification'] as $key => $value) { if (!empty($value['values'])) { $value['value'] = $value['values']; unset($value['values']); } $outData['specification'][] = $value; } break; default: break; } return $outData; }
/** * by carter ByXiangYang * 取得订单商品 * * * @param int $order_id 订单id * @param string $goods_field 需要查询的字段 * @return array 订单商品数组 */ function GZ_order_info_goods($order_id, $goods_field) { //所有商品带库号id $sql = "SELECT " . $goods_field . " FROM " . $GLOBALS['ecs']->table('order_goods') . " og JOIN " . $GLOBALS['ecs']->table('goods') . " g ON g.goods_id=og.goods_id WHERE order_id = '{$order_id}'"; $res = $GLOBALS['db']->query($sql); while ($row = $GLOBALS['db']->fetchRow($res)) { if ($row['extension_code'] == 'package_buy') { $row['package_goods_list'] = get_package_goods($row['goods_id']); } $goods_list[] = $row; } //二次开发 ByXiangYang 需要子订单号 查询物流 //根据订单id判断库号带商品列表 $sql = 'SELECT order_id,order_sn,order_status,shipping_name,order_amount,invoice_no,l_id FROM ' . $GLOBALS['ecs']->table('order_info2'); $where = " WHERE "; $i = 1; //整理出商品 foreach ($goods_list as $gv) { if (!isset($result[$gv['l_id']]['goods'])) { $where .= $i === 1 ? '(' : ' OR '; $where .= "l_id=" . $gv['l_id']; $result[$gv['l_id']]['goods'] = array(); } $goods_list_t = array("goods_id" => $gv['goods_id'], "name" => $gv['goods_name'], "goods_status" => $gv['goods_status'], "goods_commented" => $gv['goods_commented'], "goods_number" => $gv['goods_number'], "subtotal" => price_format($gv['subtotal'], false), "formated_shop_price" => price_format($gv['goods_price'], false), "img" => array('small' => API_DATA('PHOTO', $gv['goods_thumb']), 'thumb' => API_DATA('PHOTO', $gv['goods_img']), 'url' => API_DATA('PHOTO', $gv['original_img']))); array_push($result[$gv['l_id']]['goods'], $goods_list_t); $i++; } $where .= ') AND order_id2=' . $order_id; $sql .= $where; $res = $GLOBALS['db']->query($sql); while ($row = $GLOBALS['db']->fetchRow($res)) { $temp_order2[] = $row; } //整理出来订单信息 foreach ($temp_order2 as $tov) { foreach ($tov as $tovkey => $tovval) { $result[$tov['l_id']][$tovkey] = $tovval; } } $out = array(); foreach ($result as $k => $v) { $out[] = $v; } return $out; }
} $url_format .= "&min_price=" . $_REQUEST['min_price'] . "&max_price=" . $_REQUEST['max_price'] . "&sort={$sort}"; $url_format .= "{$attr_url}&order={$order}&page="; $pager['search'] = array('keywords' => stripslashes(urlencode($_REQUEST['keywords'])), 'category' => $category, 'brand' => $brand, 'sort' => $sort, 'order' => $order, 'min_price' => $_REQUEST['min_price'], 'max_price' => $_REQUEST['max_price'], 'action' => $action, 'intro' => empty($intromode) ? '' : trim($intromode), 'goods_type' => $_REQUEST['goods_type'], 'sc_ds' => $_REQUEST['sc_ds'], 'outstock' => $_REQUEST['outstock']); $pager['search'] = array_merge($pager['search'], $attr_arg); $pager = get_pager('search.php', $pager['search'], $count, $page, $size); $pager['display'] = $display; $smarty->assign('url_format', $url_format); $smarty->assign('pager', $pager); assign_template(); assign_dynamic('search'); $position = assign_ur_here(0, $ur_here . ($_REQUEST['keywords'] ? '_' . $_REQUEST['keywords'] : '')); $smarty->assign('page_title', $position['title']); // 页面标题 $smarty->assign('ur_here', $position['ur_here']); // 当前位置 $smarty->assign('intromode', $intromode); $smarty->assign('categories', get_categories_tree()); // 分类树 $smarty->assign('helps', get_shop_help()); // 网店帮助 $smarty->assign('top_goods', get_top10()); // 销售排行 $smarty->assign('promotion_info', get_promotion_info()); $data = API_DATA("SIMPLEGOODS", $smarty->_var['goods_list']); if (!empty($smarty->_var['pager'])) { $pager = array("total" => $smarty->_var['pager']['record_count'], "count" => count($smarty->_var['goods_list']), "more" => empty($smarty->_var['pager']['page_next']) ? 0 : 1); } else { $pager = NULL; } GZ_Api::outPut($data, $pager);
$data['collected'] = 0; if (!empty($tmp[0]) && $tmp[0] == 'desc') { $base = sprintf('<base href="%s/" />', dirname($GLOBALS['ecs']->url())); $html = '<!DOCTYPE html><html><head><title>' . $data['goods_name'] . '</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width, initial-scale=0.4"><meta name="viewport" content="initial-scale = 0.4 , minimum-scale = 0.4 , maximum-scale = 1.0" /><style>img {width: auto\\9;height: auto;vertical-align: middle;border: 0;-ms-interpolation-mode: bicubic;max-width: 100%; }html { font-size:100%; } </style>' . $base . '</head><body>' . $data['goods_desc'] . '</body></html>'; // print_r($html);exit; GZ_Api::outPut(array('data' => $html)); } else { if (GZ_Api::$session['uid']) { // 查询收藏夹状态 $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) { $data['collected'] = 1; } } // print_r($data);exit; GZ_Api::outPut(API_DATA('GOODS', $data)); } function gz_get_goods_gallery($goods_id) { $sql = 'SELECT img_id, img_url, thumb_url, img_desc, img_original' . ' FROM ' . $GLOBALS['ecs']->table('goods_gallery') . " WHERE goods_id = '{$goods_id}' LIMIT " . $GLOBALS['_CFG']['goods_gallery_number']; $row = $GLOBALS['db']->getAll($sql); /* 格式化相册图片路径 */ foreach ($row as $key => $gallery_img) { $row[$key]['img_url'] = get_image_path($goods_id, $gallery_img['img_original'], false, 'gallery'); $row[$key]['thumb_url'] = get_image_path($goods_id, $gallery_img['img_url'], true, 'gallery'); } return $row; } /** * 获得指定商品的关联文章 *