<?php use Action\WebAction; use WebPlugin\Helpers; use Home\UserModel; use LibModels\Web\Home\UserData; class UserController extends WebAction { /** * 个人中心-个人信息编辑 */ public function indexAction() { //判断是否登录 $uid = $this->auditJumpLogin(); //头部导航 $channel = Helpers::getChannelNameByCookie(); $this->setWebNavHeader($channel); //面包屑-左侧导航 $path = UserModel::getCenterCrumb('编辑个人资料'); $leftNav = UserModel::getCenterLeftNav('编辑个人资料',$uid); //用户信息-基础信息 $userInfo = UserModel::getUserInfo($uid); //联系信息 $userContactInfo = UserModel::getUserContactInfo($uid); //习惯信息 $userHabitsInfo = UserModel::getUserHabitsInfo($uid); //喜欢的品牌信息 $userLikeBrandInfo = UserModel::getUserLikeBrandInfo($uid); //数据整合 $data = array( 'path' => $path, 'homeNav' => $leftNav, 'userThumb' => $userInfo['headIco'], 'userPersonalInfo' => array( 'subTitle' => '会员信息', 'firstBox' => true, 'submitId' => 'base-info', 'profileSrc' => $userInfo['headIco'], 'email' => array( 'labelText' => '登录邮箱:', 'value' => $userInfo['email'] ), 'name' => array( array( 'labelText' => '昵称:', 'value' => $userInfo['nickname'], 'key' => 'nickname', 'tips' => '昵称必须大于2而小于20个字符' ), array( 'labelText' => '真实姓名:', 'value' => $userInfo['username'], 'key' => 'username', 'tips' => '真实姓名至少2个中文,最多5个中文' ) ), 'gender' => array( 'labelText' => '性别:', 'key' => 'gender', 'data' => $userInfo['handleGender'], ), 'birthday' => array( 'labelText' => '生日:', 'key' => 'birthday', 'tips' => '', 'selects' => array( array( 'key' => 'year', 'options' => $userInfo['handleYear'], 'unit' => '年' ), array( 'key' => 'month', 'options' => $userInfo['handleMonth'], 'unit' => '月' ), array( 'key' => 'day', 'options' => $userInfo['handleDay'], 'unit'=>'日' ), ) ), 'profession' => array( 'labelText' => '职业:', 'key' => 'profession', 'data' => $userInfo['handleProfession'], ), 'income' => array( 'labelText' => '收入状况:', 'key' => 'income', 'data' => $userInfo['handleIncome'], ) ), 'contactInfo' => array( 'subTitle' => '联系信息', 'submitId' => 'contact-info', 'region' => array( 'labelText' => '来自:', 'selects' => array( array( 'key' => 'province', 'options' => $userContactInfo['handleProvince'], ), array( 'key' => 'city', 'options' => $userContactInfo['handleCity'] ), array( 'key' => 'areaCode', 'options' => $userContactInfo['handleArea'] ) ), ), 'details' => array( array( 'labelText' => '固定电话:', 'key' => 'phone', 'value' => $userContactInfo['phone'], 'tips' => '如: 010-82831245' ), array( 'labelText' => '手机号码:', 'key' => 'mobile', 'value' => $userContactInfo['mobile'], 'tips' => '填写手机号便于接收发货和收货通知' ), array( 'labelText' => 'QQ:', 'key' => 'qq', 'value' => $userContactInfo['qq'], 'tips' => '填写QQ方便您的好友联系你' ), array( 'longInput' => true, 'labelText' => '联系地址:', 'key' => 'fullAddress', 'value' => $userContactInfo['fullAddress'], 'tips' => '请填写详细地址' ), array( 'labelText' => '邮编:', 'key' => 'zipCode', 'value' => $userContactInfo['zipCode'], 'tips' => '请输入收货人所在地邮编号' ), ), ), 'habbit' => array( 'subTitle' => '购物&着装习惯', 'submitId' => 'shopping-info', 'details' => array( array( 'labelText' => '购物习惯:', 'data' => $userHabitsInfo['shopping'], ), array( 'labelText' => '着装习惯:', 'data' => $userHabitsInfo['dress'], ), ) ), 'favorite' => array( 'subTitle' => '喜爱品牌', 'submitId' => 'favorite-brand', 'likebrand' => (substr($userLikeBrandInfo['likeBrandStr'], 0, 1) == ',') ? $userLikeBrandInfo['likeBrandStr'] : ',' . $userLikeBrandInfo['likeBrandStr'], 'favoriteBrands' => $userLikeBrandInfo['favBrands'], 'hotBrands' => $userLikeBrandInfo['hotBrands'], ) ); $this->_view->display('user', array( 'user' => $data, 'meEditPage' => true )); } /** * 修改用户基本信息 */ public function editUserInfoAction() { $data = array('code' => 400, 'message' => '', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } $uid = $this->auditJumpLogin(); $params['uid'] = $uid; $params['nickname'] = trim($this->post('nickname')); $params['username'] = trim($this->post('username')); $params['gender'] = $this->post('gender', 3); $year = trim($this->post('year', '')); $month = trim($this->post('month', '')); $month = $month ? str_pad($month, 2, '0', STR_PAD_LEFT) : ''; $day = trim($this->post('day', '')); $day = $day ? str_pad($day, 2, '0', STR_PAD_LEFT) : ''; $params['birthday'] = $year ? $year . '-' . $month . '-' . $day : ''; $params['profession'] = $this->post('profession', 0); $params['income'] = $this->post('income', 0); if (!is_numeric($params['uid']) || !$params['nickname'] || !$params['username'] || !$params['birthday']) { $data = array('code' => 400, 'message' => '缺失必填项', 'data' => ''); break; } $data = UserData::editUserInfo($params); if (!isset($data['code'])) { break; } } while (false); $this->echoJson($data); } /** * 修改用户联系信息 */ public function editUserContactInfoAction() { $data = array('code' => 400, 'message' => '', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } $uid = $this->auditJumpLogin(); $params['uid'] = $uid; $params['areaCode'] = trim($this->post('areaCode')); $params['phone'] = trim($this->post('phone')); $params['mobile'] = trim($this->post('mobile')); $params['qq'] = trim($this->post('qq')); $params['fullAddress'] = trim($this->post('fullAddress')); $params['zipCode'] = trim($this->post('zipCode')); if (!$params['areaCode'] || !$params['fullAddress'] || !$params['zipCode'] || (!$params['phone'] && !$params['mobile'])) { $data = array('code' => 400, 'message' => '缺失必填项', 'data' => ''); break; } $data = UserData::editUserContactInfo($params); if (!isset($data['code'])) { break; } } while (false); $this->echoJson($data); } /** * 修改用户购物着装习惯信息 */ public function editUserHabitsInfoAction() { $data = array('code' => 400, 'message' => '', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } $uid = $this->auditJumpLogin(); $params['uid'] = $uid; $params['shopping'] = trim($this->post('shopping')); $dressArr = $this->post('dress', ''); $dress = ''; if (!empty($dressArr)) { $dress = implode(",", $dressArr); } $params['dress'] = trim($dress); if (!$params['shopping']) { $data = array('code' => 400, 'message' => '缺失必填项', 'data' => ''); break; } $data = UserData::editUserHabitsInfo($params); if (!isset($data['code'])) { break; } } while (false); $this->echoJson($data); } /** * 检查输入字符串是否在品牌库中 */ public function isBrandNameAction() { $data = array('code' => 400, 'message' => '', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } $this->auditJumpLogin(); $brandName = trim($this->post('brandName')); if (!$brandName) { $data = array('code' => 400, 'message' => '缺失必填项', 'data' => ''); break; } $res = UserModel::isBrandName($brandName); if ($res['flag']) { $data = array('code' => 200, 'message' => '', 'data' => array('id' => $res['data']['brandId'], 'brand_name' => $res['data']['brandName'])); } else { $data = array('code' => 400, 'message' => '很抱歉,您要添加的品牌不在我们的品牌库中。', 'data' => ''); } } while (false); $this->echoJson($data); } /** * 修改用户喜爱的品牌信息 */ public function editUserLikeBrandAction() { $data = array('code' => 400, 'message' => '', 'data' => ''); do { /* 判断是不是AJAX请求 */ if (!$this->isAjax()) { break; } $uid = $this->auditJumpLogin(); $params['uid'] = $uid; $params['brand'] = trim($this->post('brand', '')); if (!$params['brand']) { $data = array('code' => 400, 'message' => '缺失必填项', 'data' => ''); break; } $data = UserData::editUserLikeBrand($params); if (!isset($data['code'])) { break; } } while (false); $this->echoJson($data); } }