user_id = $_SESSION['user_id']; $this->actionchecklogin(); L(require(ROOT_PATH . 'source/language/' . C('shop.lang') . '/user.php')); L(require(ROOT_PATH . 'source/language/' . C('shop.lang') . '/flow.php')); $files = array( 'clips', 'transaction', 'main' ); $this->load_helper($files); } /** * 会员中心欢迎页 */ public function actionIndex() { $user_id= $this->user_id; $type=0; $where_pay = ' AND oi.pay_status = ' . PS_UNPAYED . ' AND oi.order_status not in(' . OS_CANCELED . ','. OS_INVALID .','. OS_RETURNED .')';; $pay_count = get_order_where_count($user_id, $type, $where_pay); $this->assign('pay_count', intval($pay_count));//待付款 $where_confirmed = " AND oi.pay_status = ". PS_PAYED ." AND oi.order_status in (".OS_CONFIRMED.", ".OS_SPLITED.", ".OS_SPLITING_PART.") AND (oi.shipping_status >= ".SS_UNSHIPPED ." AND oi.shipping_status <> ".SS_RECEIVED.")";; $cache = new \base\Cache(); $cache_info = $cache->get($_SESSION['user_id']); $sql = "SELECT a.msg_id FROM {pre}feedback AS a WHERE a.parent_id IN ". " (SELECT b.msg_id FROM {pre}feedback AS b WHERE b.user_id = '".$_SESSION['user_id']."') ORDER BY a.msg_id DESC"; $msg_ids = $this->db->getOne($sql); if(intval($msg_ids) > intval($cache_info)){ $cache_infos = 1; } $this->assign('cache_info', $cache_infos); $confirmed_count = get_order_where_count($user_id, $type, $where_confirmed); $this->assign('confirmed_count', intval($confirmed_count));//待发货 //获取管理员留言 $this->assign('admin_count', get_admin_feedback($_SESSION['user_id'])); // 自定义导航栏 // 用户信息 $this->assign('info', get_user_default($this->user_id)); // 自定义导航栏 $this->assign('rank', get_rank_info()); // 用户等级 if ($rank = get_rank_info()){ $this->assign('rank', $rank); // 用户等级 if(empty($rank)){ $this->assign('next_rank_name', sprintf(L('next_level'), $rank['next_rank'] ,$rank['next_rank_name'])); } } $this->assign('msg_list', msg_lists($this->user_id)); //获取未读取消息数量 $this->assign('goods_num', num_collection_goods($this->user_id)); //收藏数量 $this->assign('store_num', num_collection_store($this->user_id)); //关注数量 $this->assign('bonus', my_bonus($this->user_id)); // 红包 $this->assign('user_pay', pay_money($this->user_id)); //用户积分余额 $this->assign('history', historys()); //浏览记录 $not_evaluated = get_user_order_comment_list($this->user_id, 1, 0); $this->assign('not_comment', intval($not_evaluated)); //待评价 $this->assign('page_title','个人中心'); //是否显示我的微店 $this->assign('drp', class_exists('\apps\drp\controllers\IndexController')? 1: 0); $this->display('user'); } /** * 清除搜索记录 *ok */ public function actionClearHistory(){ if (IS_AJAX ) { setcookie('ECS[history_goods]', '', 1); echo json_encode(array('status'=>1)); } else { echo json_encode(array('status'=>0)); } } /** * 验证是否登录 */ public function actionchecklogin(){ if(!$this->user_id){ $url = urlencode(__HOST__ . $_SERVER['REQUEST_URI']); if(IS_POST) { $url = urlencode($_SERVER['HTTP_REFERER']); } ecs_header("Location: ".U('user/login/index',array('back_act'=>$url))); exit; } } /** * 会员账号中心 */ public function actionProfile() { $sql = "SELECT user_name,email, birthday, sex, question, answer, rank_points, pay_points,user_money, user_rank," . " msn, qq, office_phone, home_phone, mobile_phone, passwd_question, passwd_answer " . "FROM {pre}users WHERE user_id = '$this->user_id'"; $infos = $this->db->getRow($sql); if($infos['sex'] == 0){ $infos['sex'] = '保密'; } if($infos['sex'] == 1){ $infos['sex'] = '男'; } if($infos['sex'] == 2){ $infos['sex'] = '女'; } $this->assign('infos', $infos ); $this->display(user_profile); } /** * 修改密码 */ public function actionEditPassword() { // 修改密码处理 if (IS_POST) { $old_password = $this->fetch(I('old_password')); $new_passwords = $this->fetch(I('post.new_password1')); $new_password = $this->fetch(I('new_password')); if(empty($this->user_id)){ ecs_header("Location: ".U('user/login/index')); exit; } if($new_passwords !== $new_password){ show_message('您两次输入的新密码不同请重新输入', '返回', U('user/index/edit_password'), 'warning'); } $user_info = $this->users->get_profile_by_id($this->user_id); if(!$this->users->check_user($user_info['user_name'], $old_password)){ show_message('您输入的旧密码错误请重新输入', '返回', U('user/index/edit_password'), 'warning'); } if (strlen($new_password) < 6) { show_message('您输入的密码不能少于六位字符', '返回', U('user/index/edit_password'), 'warning'); } if ($this->users->edit_user(array('username'=>$user_info['user_name'], 'old_password'=>$old_password, 'password'=>$new_password), 0)){ $sql="UPDATE {pre}users SET `ec_salt`='0' WHERE user_id= '".$this->user_id."'"; $this->db->query($sql); unset($_SESSION['user_id']); unset($_SESSION['user_name']); show_message('修改成功', '返回登录页面', U('user/login/index'), 'success'); } } $this->assign("page_title","修改密码" ); // 显示修改密码页面 if (isset($_SESSION['user_id']) && $_SESSION['user_id'] > 0) { $this->display(user_edit_password); } else{ /* 如果没有传入id则跳回到首页 */ ecs_header("Location: ".U('user/index/edit_password')); exit; } } /** * 用户手机信息修改 */ public function actionUpdate_mobile() { //格式化返回数组 $result = array( 'error' => 0, 'message' => '' ); // 是否有接收值 if (isset($_POST ['mobile_phone'])) { $mobile_phone = $_POST ['mobile_phone']; if ($mobile_phone == '' ) { $result ['error'] = 1; $result ['message'] = '未接收到值'; die(json_encode($result)); } $sql = "UPDATE {pre}users SET mobile_phone= '$mobile_phone' WHERE user_id='" . $this->user_id. "'"; $query = $this->db->query($sql); if($query){ $result ['error'] = 2; $result ['sucess'] = $mobile_phone; $result ['message'] = '修改成功'; die(json_encode($result)); } } } /** * 待评价 */ public function actionCommentList() { $sign = isset($_REQUEST['sign']) ? intval($_REQUEST['sign']) : 0; // 评论标识 $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; $size = 10; // 剔除未保存晒单图 $sql = "DELETE FROM " . $GLOBALS['ecs']->table('comment_img') . " WHERE user_id='$_SESSION[user_id]' AND comment_id = 0"; $GLOBALS['db']->query($sql); $record_count = get_user_order_comment_list($_SESSION['user_id'], 1, $sign); $pager = get_pager('user.php', array( 'act' => $action ), $record_count, $page, $size); $comment_list = get_user_order_comment_list($_SESSION['user_id'], 0, $sign, 0, $size, $pager['start']); $this->assign('comment_list', $comment_list); $this->assign('pager', $pager); $this->assign('sign', $sign); $this->assign('sessid', SESS_ID); $this->assign('page_title', '待评价列表'); $this->display('user_evaluation'); } /** * 评价功能 */ public function actionAddComment() { if (IS_POST) { $user_id = $_SESSION['user_id']; $comment_id = I('comment_id', 0, 'intval'); $rank = I('comment_rank', 5, 'intval'); $rank_server = 5; $rank_delivery = 5; $content = I('content'); $order_id = I('order_id', 0, 'intval'); $goods_id = I('goods_id', 0, 'intval'); $goods_tag = I('impression'); $sign = I('sign', 0, 'intval'); $rec_id = I('rec_id', 0, 'intval'); $addtime = gmtime(); $ip = real_ip(); if(empty($content)){ show_message('评论内容不可为空', '返回', '', 'warning'); } $sql = "select user_id from " .$GLOBALS['ecs']->table('goods'). " where goods_id = '$goods_id'"; $ru_id = $GLOBALS['db']->getOne($sql); $status = 1 - $GLOBALS['_CFG']['comment_check']; $sql = "INSERT INTO " . $GLOBALS['ecs']->table('comment') . "(comment_type, id_value, email, user_name, content, comment_rank, comment_server, comment_delivery, add_time, ip_address , status, parent_id, user_id, single_id, order_id, goods_tag, ru_id)VALUES('0', '$goods_id', ' $_SESSION[email]', '$_SESSION[user_name]', '$content', '$rank', $rank_server, $rank_delivery, '$addtime', '$ip', '$status', '0', '$_SESSION[user_id]', '0', '$order_id', '$goods_tag', '$ru_id')"; $GLOBALS['db']->query($sql); $pic = $_FILES; if(!empty($pic['tmp_name'])){ if($pic['pic']["size"]/1024/1024 > 3){ show_message('图片不能大于3M'); } if (($pic["pic"]["type"] != "image/png") && ($pic["pic"]["type"] != "image/jpeg") && ($pic["pic"]["type"] != "image/pjpeg")){ show_message('图片格式需jpg/png/jpeg'); } $typename = explode('.',$pic['pic']['name']); $typename = '.'.$typename[1]; $newname ='data/cmt_img/'.time().$typename; copy($pic['pic']['tmp_name'],ROOT_PATH.'../'.$newname); $sql = "SELECT comment_id FROM {pre}comment order by comment_id desc"; $cid = $this->db->getOne($sql); $sql = "INSERT INTO " . $GLOBALS['ecs']->table('comment_img') . "(user_id, order_id, goods_id, comment_id, comment_img, img_thumb) VALUES('$_SESSION[user_id]', '$order_id', '$goods_id', ' $cid', '$newname', '$newname')"; $GLOBALS['db']->query($sql); } show_message('商品评论成功', '返回上一页', U('user/index/comment_list'), 'success'); } $order_id = I('order_id', 0, 'intval'); $goods_id = I('goods_id', 0, 'intval'); $sql = "SELECT g.* FROM {pre}order_goods og LEFT JOIN {pre}goods g on og.goods_id = g.goods_id WHERE og.order_id='{$order_id}' AND og.goods_id='{$goods_id}'"; $goods_info = $this->db->getRow($sql); if(empty($goods_info)){ show_message('评论商品数据不完整', '返回', '', 'warning'); } $this->assign('order_id', $order_id); $this->assign('goods_id', $goods_id); $this->assign('goods_info', $goods_info); $this->assign('page_title', '商品评论'); $this->display('user_evaluation_info'); } /** * 上传图片 */ public function actionCommentUpload() { $config = array( 'maxSize' => 1048576, //上传的文件大小限制 默认1M 'allowExts' => array('png', 'jpg', 'jpeg', 'gif', 'bmp'), //允许的文件后缀 'rootPath' => dirname(ROOT_PATH) . '/', //上传根路径 'savePath' => 'data/cmt_img/'.date('Ym'). '/', //保存路径 'saveRule' => 'md5_file', //命名规则 ); $uploader = new \libraries\Upload($config); if($uploader->upload('fileList')){ $info = $uploader->getUploadFileInfo(); exit(json_encode(array('error'=>0, 'message'=>$config['savePath'] . $info['fileList']['savename']))); }else{ exit(json_encode(array('error'=>1, 'message'=>$uploader->getError()))); } } /** * 邮箱修改 */ public function actionUpdate_email() { //格式化返回数组 $result = array( 'error' => 0, 'message' => '' ); // 是否有接收值 if (isset($_POST ['email'])) { $email = $_POST ['email']; if ($email == '' ) { $result ['error'] = 1; $result ['message'] = '未接收到值'; die(json_encode($result)); } $sql = "UPDATE {pre}users SET email= '$email' WHERE user_id='" . $this->user_id. "'"; $query = $this->db->query($sql); if($query){ $result ['error'] = 2; $result ['sucess'] = $mobile_phone; $result ['message'] = '修改成功'; die(json_encode($result)); } } } /** * 性别修改 */ public function actionUpdate_sex() { //格式化返回数组 $result = array( 'error' => 0, 'message' => '' ); // 是否有接收值 if (isset($_POST ['sex'])) { $sex = $_POST ['sex']; if (sex == '' ) { $result ['error'] = 1; $result ['message'] = '未接收到值'; die(json_encode($result)); } $sql = "UPDATE {pre}users SET sex= '$sex' WHERE user_id='" . $this->user_id. "'"; $query = $this->db->query($sql); if($query){ $result ['error'] = 2; $result ['message'] = '修改成功'; die(json_encode($result)); } } } /** * 收货地址列表 */ public function actionAddressList() { $user_id=$this->user_id; /* 获得用户所有的收货人信息 */ if ($_SESSION['user_id'] > 0) { $consignee_list = get_consignee_list($_SESSION['user_id']); } else { if (isset($_SESSION['flow_consignee'])){ $consignee_list = array($_SESSION['flow_consignee']); } else { $consignee_list[] = array('country' => C('shop.shop_country')); } } $this->assign('name_of_region', array(C('shop.name_of_region_1'), C('shop.name_of_region_2'), C('shop.name_of_region_3'), C('shop.name_of_region_4'))); if ($consignee_list) { foreach ($consignee_list as $k => $v) { $address = ''; if ($v['province']) { $res=get_region_name($v['province']); $address .= $res['region_name']; } if ($v['city']) { $ress=get_region_name($v['city']); $address .= $ress['region_name'] ; } if ($v['district']) { $resss=get_region_name($v['district']); $address .= $resss['region_name'] ; } $consignee_list[$k]['address'] = $address . ' ' . $v['address']; $consignee_list[$k]['url'] = U('user/edit_address', array('id' => $v['address_id'])); } } /* 取得每个收货地址的省市区列表 */ $province_list = array(); $city_list = array(); $district_list = array(); foreach ($consignee_list as $region_id => $consignee) { $consignee['country'] = isset($consignee['country']) ? intval($consignee['country']) : 0; $consignee['province'] = isset($consignee['province']) ? intval($consignee['province']) : 0; $consignee['city'] = isset($consignee['city']) ? intval($consignee['city']) : 0; $province_list[$region_id] = get_regions(1, $consignee['country']); $city_list[$region_id] = get_regions(2, $consignee['province']); $district_list[$region_id] = get_regions(3, $consignee['city']); } $address_id = $this->db->getOne("SELECT address_id FROM {pre}users WHERE user_id='$user_id'"); $this->assign('address_id',$address_id); foreach ($consignee_list as $k => $v) { if($v['address_id'] == $address_id ){ $c[] = $v; unset($consignee_list[$k]); } } if(is_array($consignee_list) && is_array($c)){ $consignee_list = array_merge($c,$consignee_list); } $this->assign('consignee_list', $consignee_list); $this->assign('province_list', $province_list); $this->assign('city_list', $city_list); $this->assign('district_list', $district_list); $this->assign('page_title','收货地址'); $this->display(flow_consignee_list); } /** * 新增收货地址 */ public function actionAddAddress() { if(IS_POST){ $consignee = array( 'address_id' => I('address_id'), 'consignee' =>I('consignee'), 'country' => 1, 'province' =>I('province_region_id'), 'city' => I('city_region_id'), 'district' => I('district_region_id'), 'email' => I('email'), 'address' => I('address'), 'zipcode' =>I('zipcode'), 'tel' => I('tel'), 'mobile' => I('mobile'), 'sign_building' => I('sign_building'), 'best_time' => I('best_time'), 'user_id' => $_SESSION['user_id'] ); //验证收货人 if(empty($consignee['consignee'])){ show_message("收货人不能为空"); } //验证手机号码 if(empty($consignee['mobile'])){ show_message("收货联系方式不能为空"); } if (!preg_match('/^1[3|5|8|7|4]\d{9}$/',$consignee['mobile'])) { show_message("手机号码格式不正确"); } if(empty($consignee['address'])){ show_message("详细地址不能为空"); } $limit_address=$this->db->getOne("select count(address_id) from {pre}user_address where user_id = '".$consignee['user_id']."'"); if($limit_address > 5) { show_message('最多只能保存5个收货地址'); } if ($_SESSION['user_id'] > 0) { /* 如果用户已经登录,则保存收货人信息 */ save_consignee($consignee, ture); } /* 保存到session */ $_SESSION['flow_consignee'] = stripslashes_deep($consignee); ecs_header("Location: ".U('user/index/address_list')."\n"); exit; } $this->assign('country_list', get_regions()); $this->assign('shop_country', C('shop.shop_country')); $this->assign('shop_province_list', get_regions(1, C('shop.shop_country'))); $this->assign('address_id',I('address_id')); $province_list = get_regions(1, C('shop.shop_country')); $this->assign('province_list', $province_list); //省、直辖市 $city_list = get_region_city_county($this->province_id); if($city_list){ foreach($city_list as $k=>$v){ $city_list[$k]['district_list'] = get_region_city_county($v['region_id']); } } $this->assign('city_list', $city_list); //省下级市 $district_list = get_region_city_county($this->city_id); $this->assign('district_list', $district_list);//市下级县 if(I('address_id')){ $address_id = $_GET['address_id']; $consignee_list = $this->db->getRow("SELECT * FROM {pre}user_address WHERE user_id='$_SESSION[user_id]]' AND address_id='$address_id'"); if(empty($consignee_list)){ show_message('您没有此收货地址'); } $c = get_region_name($consignee_list['province']); $cc = get_region_name($consignee_list['city']); $ccc = get_region_name($consignee_list['district']); $consignee_list['province'] = $c['region_name']; $consignee_list['city'] = $cc['region_name']; $consignee_list['district'] = $ccc['region_name']; $consignee_list['province_id'] = $c['region_id']; $consignee_list['city_id'] = $cc['region_id']; $consignee_list['district_id'] = $ccc['region_id']; $city_list = get_region_city_county($c['region_id']); if($city_list){ foreach($city_list as $k=>$v){ $city_list[$k]['district_list'] = get_region_city_county($v['region_id']); } } $this->assign('city_list', $city_list); //省下级市 $this->assign('consignee_list', $consignee_list); $this->assign('page_title','修改收货地址'); $this->display(flow_consignee_edit); } else{ $this->assign('page_title','添加收货地址'); $this->display(flow_consignee); } } /* * AJAX显示地区名称 */ public function actionShowRegionName(){ $error['province'] = get_region_name(I('province')); $error['city'] = get_region_name(I('city')); $error['district'] = get_region_name(I('district')); die(json_encode($error)); } /** * 删除收货地址 */ public function actionDrop() { $id=I('address_id'); if (drop_consignee($id)) { ecs_header("Location: ".U('user/index/address_list')); exit; } else { show_message(L('del_address_false')); } } //异步设置默认地址 public function actionAjaxMakeAddress() { $user_id = $this->user_id; $address_id = isset($_REQUEST['address_id']) ? intval($_REQUEST['address_id']) : 0; $sql = "UPDATE {pre}users SET address_id = '$address_id' WHERE user_id = '$user_id'"; $this->db->query($sql); $res['address_id'] = $address_id; die(json_encode($res)); } /** * 收藏列表- */ public function actionCollectionList() { if (IS_AJAX) { $user_id = $this->user_id; $page = I('page', '1', 'intval'); $offset = 10; $sql = "SELECT count(rec_id) as max FROM {pre}collect_goods WHERE user_id=$user_id "; $count = $this->db->getOne($sql); $page_size = ceil($count / $offset); $limit = ' LIMIT '. ($page - 1) * $offset . ',' . $offset; $collection_goods = get_collection_goods($user_id, $count,$limit); $show = $count > 0 ? 1 : 0; die(json_encode(array('goods_list' => $collection_goods['goods_list'], 'show' => $show, 'totalPage' => $page_size))); } $this->assign('paper', $collection_goods['paper']); $this->assign('record_count', $collection_goods['record_count']); $this->assign('size', $collection_goods['size']); $this->assign('page_title','我的收藏'); $this->display('flow_accessories'); } /** * 添加删除收藏 */ public function actionAddCollection(){ $result = array( 'error' => 0, 'message' => '' ); $goods_id = intval($_GET['id']); if (! isset($this->user_id) || $this->user_id == 0) { $result['error'] = 2; $result['message'] = L('login_please'); die(json_encode($result)); } else { // 检查是否已经存在于用户的收藏夹 $where['user_id'] = $this->user_id; $where['goods_id'] = $goods_id; $rs = $this->db->table('collect_goods') ->where($where) ->count(); if ($rs > 0) { $this->db->table('collect_goods') ->where($where) ->delete(); $result['error'] = 0; $result['message'] = L('collect_success'); die(json_encode($result)); } else { $data['user_id'] = $this->user_id; $data['goods_id'] = $goods_id; $data['add_time'] = gmtime(); if ($this->db->table('collect_goods') ->data($data) ->insert() === false) { $result['error'] = 1; $result['message'] = M()->errorMsg(); die(json_encode($result)); } else { $result['error'] = 0; $result['message'] = L('collect_success'); die(json_encode($result)); } } } } // /* 删除收藏的商品 */ public function actionDelCollection() { $user_id=$this->user_id; $collection_id = I('rec_id'); $sql = "SELECT count(*) FROM {pre}collect_goods WHERE rec_id='$collection_id' AND user_id ='$user_id'"; if ($this->db->getOne($sql) > 0) { $this->db->query("DELETE FROM {pre}collect_goods WHERE rec_id='$collection_id' AND user_id ='$user_id'"); ecs_header("Location: ".U('user/index/collectionlist')); exit; } } /** * 数据过滤 */ private function filter($string){ $string = htmlspecialchars(trim($string)); $string = addslashes($string); $string = str_replace("+", "%2b",base64_decode(serialize($string))); $string = unserialize(base64_encode($string)); } //显示留言列表 public function actionMessageList() { $cache = new \base\Cache(); $sql = "SELECT msg_id,msg_time FROM {pre}feedback AS a WHERE a.parent_id IN ". " (SELECT msg_id FROM {pre}feedback AS b WHERE b.user_id = '".$_SESSION['user_id']."') ORDER BY a.msg_id DESC LIMIT 1"; $msg_ids = $this->db->getRow($sql); $cache_info = $cache->set($_SESSION['user_id'], $msg_ids['msg_id']); $user_id=$this->user_id; $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; $order_id = empty($_GET['order_id']) ? 0 : intval($_GET['order_id']); $info=get_user_default($user_id); $order_info = array(); /* 获取用户留言的数量 */ if ($order_id) { $sql = "SELECT COUNT(*) FROM {pre}feedback WHERE parent_id = 0 AND order_id = '$order_id' AND user_id = '$user_id'"; $order_info = $this->db->getRow("SELECT * FROM {pre}order_info WHERE order_id = '$order_id' AND user_id = '$user_id'"); $order_info['url'] = 'user.php?act=order_detail&order_id=' . $order_id; } else { $sql = "SELECT COUNT(*) FROM {pre}feedback WHERE parent_id = 0 AND user_id = '$user_id' AND user_name = '" . $_SESSION['user_name'] . "' AND order_id=0"; } $record_count = $this->db->getOne($sql); $act = array('act' => $action); if ($order_id != '') { $act['order_id'] = $order_id; } $pager = get_pager('user.php', $act, $record_count, $page, 5); $this->assign('info',$info); $message_list = get_message_list($user_id, $_SESSION['user_name'], $pager['size'], $pager['start'], $order_id); ksort($message_list); $this->assign('message_list', $message_list); $this->assign('pager', $pager); $this->assign('order_info', $order_info); $this->assign('page_title','客服服务'); $this->display('user_consult'); } /* 添加我的留言 */ public function actionAddMessage() { if(IS_POST){ $message = array( 'user_id' =>$_SESSION['user_id'], 'user_name' => $_SESSION['user_name'], 'user_email' => $_SESSION['email'], 'msg_type' => isset($_POST['msg_type']) ? intval($_POST['msg_type']) : 0, 'msg_title' => isset($_POST['msg_title']) ? trim($_POST['msg_title']) : '', 'msg_time' => gmtime(), 'msg_content' => isset($_POST['msg_title']) ? trim($_POST['msg_title']) : '', 'order_id' => empty($_POST['order_id']) ? 0 : intval($_POST['order_id']), 'upload' => (isset($_FILES['message_img']['error']) && $_FILES['message_img']['error'] == 0) || (!isset($_FILES['message_img']['error']) && isset($_FILES['message_img']['tmp_name']) && $_FILES['message_img']['tmp_name'] != 'none') ? $_FILES['message_img'] : array() ); if(empty($_POST['msg_title'])){ show_message("请输入点内容吧"); } if (addmg($message)) { ecs_header("Location: ".U('user/index/messagelist')); exit; } } } /* 关注店铺列表 */ public function actionStoreList() { if (IS_AJAX) { $page = I('page', '1', 'intval'); $offset = 5; $sql = "SELECT count(rec_id) as max FROM {pre}collect_store WHERE user_id=".$this->user_id; $count = $this->db->getOne($sql); $page_size = ceil($count / $offset); $limit = ' LIMIT '. ($page - 1) * $offset . ',' . $offset; $res = get_collection_store_list($this->user_id, $count, $limit); $show = $count > 0 ? 1 : 0; die(json_encode(array('store_list'=>$res['store_list'], 'show'=>$show, 'totalPage'=>$page_size))); } $this->assign('page_title','我的关注'); $this->display('user_store_list'); } //取消关注 public function actionDelStore() { $user_id=$this->user_id; $collection_id = I('rec_id'); if(I('rec_id')>0){ $this->db->query("DELETE FROM {pre}collect_store WHERE rec_id='$collection_id' AND user_id ='$user_id'"); ecs_header("Location: ".U('user/index/storelist')); exit; } } /** * 登记列表 */ public function actionBookingList() { if(IS_POST){ $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; /* 获取缺货登记的数量 */ $sql = "SELECT COUNT(*) " . "FROM " . $GLOBALS['ecs']->table('booking_goods') . " AS bg, " . $GLOBALS['ecs']->table('goods') . " AS g " . "WHERE bg.goods_id = g.goods_id AND bg.user_id = '$this->user_id'"; $record_count = $GLOBALS['db']->getOne($sql); $pager = get_pager('user.php', array( 'act' => $action ), $record_count, $page); $booking_list = get_booking_list($this->user_id, $pager['size'], $pager['start']); exit(json_encode(array('list'=>$booking_list, 'totalPage'=>ceil($record_count/$pager['size'])))); } $this->assign('page_title', '缺货登记'); $this->display('user_booking_list'); } /** * 缺货登记 */ public function actionAddBooking() { if (IS_POST) { $booking = array( 'goods_id' => isset($_POST['id']) ? intval($_POST['id']) : 0, 'goods_amount' => isset($_POST['number']) ? intval($_POST['number']) : 0, 'desc' => isset($_POST['desc']) ? trim($_POST['desc']) : '', 'linkman' => isset($_POST['linkman']) ? trim($_POST['linkman']) : '', 'email' => isset($_POST['email']) ? trim($_POST['email']) : '', 'tel' => isset($_POST['tel']) ? trim($_POST['tel']) : '', 'booking_id' => isset($_POST['rec_id']) ? intval($_POST['rec_id']) : 0 ); // 查看此商品是否已经登记过 $rec_id = get_booking_rec($this->user_id, $booking['goods_id']); if ($rec_id > 0) { show_message('商品已经登记过啦', '返回上一页', '', 'error'); } if (add_booking($booking)) { show_message('添加缺货登记成功', '返回登记列表', U('booking_list'), 'info'); } else { $GLOBALS['err']->show('返回登记列表', U('booking_list')); } return; } $goods_id = isset($_GET['id']) ? intval($_GET['id']) : 0; if ($goods_id == 0) { show_message($_LANG['no_goods_id'], $_LANG['back_page_up'], '', 'error'); } /* 根据规格属性获取货品规格信息 */ $goods_attr = ''; if ($_GET['spec'] != '') { $goods_attr_id = $_GET['spec']; $attr_list = array(); $sql = "SELECT a.attr_name, g.attr_value " . "FROM " . $GLOBALS['ecs']->table('goods_attr') . " AS g, " . $GLOBALS['ecs']->table('attribute') . " AS a " . "WHERE g.attr_id = a.attr_id " . "AND g.goods_attr_id " . db_create_in($goods_attr_id); $res = $GLOBALS['db']->query($sql); foreach ($res as $row) { $attr_list[] = $row['attr_name'] . ': ' . $row['attr_value']; } $goods_attr = join(chr(13) . chr(10), $attr_list); } $this->assign('goods_attr', $goods_attr); $this->assign('info', get_goodsinfo($goods_id)); $this->assign('page_title', '缺货登记'); $this->display('user_add_booking'); } /* 删除缺货登记 */ public function actionDelBooking() { $id = isset($_GET['id']) ? intval($_GET['id']) : 0; if ($id == 0 || $this->user_id == 0) { exit(json_encode(array('status'=>0))); } $result = delete_booking($id, $this->user_id); if ($result) { exit(json_encode(array('status'=>1))); } } }