/** * Finds user by [[username]] * * @return Member|null */ protected function getUser() { if ($this->_user === null) { $this->_user = Member::findByUsername($this->username); } return $this->_user; }
/** * 定义与Member的关联关系 */ public function getUser() { return $this->hasOne(Member::className(), ['uid' => 'uid']); }
/** * 好产品投票接口 */ public function actionGoodPoll() { $params = Yii::$app->request->post(); $tmp = $params['method']; $params = array_map('intval', $params); $params['method'] = $tmp; if (!Yii::$app->util->isAjax()) { echo Yii::$app->util->formatResEncode('1000', '不是ajax请求'); return; } //验证参数 if (!isset($params['mobile']) || !Yii::$app->util->checkMobileType($params['mobile']) || !isset($params['authcode']) || !$params['authcode'] || !isset($params['poll_id']) || !$params['poll_id'] || !isset($params['method']) || !$params['method']) { echo Yii::$app->util->formatResEncode('1001', '参数错误'); return; } $mMember = new Member(); if ($params['method'] == 'pwd') { $userone = $mMember->getByUserName($params['mobile']); if (!$userone) { echo Yii::$app->util->formatResEncode('1002', '不存在该用户'); return; } else { $passmd = PublicLibrary::password_encode($params['authcode'], $userone['random']); if ($passmd != $userone['password']) { echo Yii::$app->util->formatResEncode('1003', '密码错误'); return; } } } else { if ($params['method'] == 'authcode') { //获取验证码 $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $authcode = $session->get('authcode'); $mobile = $session->get('mobile'); $session->close(); //验证手机验证码 if (!isset($params['authcode'])) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } else { if ($authcode != $params['authcode']) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } else { if ($mobile != $params['mobile']) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } } } } else { echo Yii::$app->util->formatResEncode('1001', '参数错误'); return; } } $exist = $mMember->isRegistByConditons(['mobile' => $params['mobile']]); //新用户注册 if (!$exist) { if ($mMember->regist(['mobile' => $params['mobile']])) { //发送注册用户密码提示信息 Yii::$app->sms->send($params['mobile'], '欢迎注册idaiyan用户,你的首次用户密码为手机号后六位'); } } else { $uId = $exist['uid']; //获取rel_id $mActivityProduct = new ActivityProduct(); $conditions = ['user_id' => $uId, 'acti_id' => ActivityBase::GOOD_PRODUCT]; $one = $mActivityProduct->getOenByConditions($conditions); $relId = isset($one) && $one ? $one['id'] : 0; if ($relId) { //取分享人数据 $conditions = ['poll_id' => $params['poll_id'], 'owner_id' => $relId]; $mPollOption = new PollOption(); $row = $mPollOption->TopNum($conditions); if ($row) { $data = ['img' => $row[0]['act']['product']['album'], 'name' => $row[0]['act']['product']['name'], 'poll_votes' => $row[0]['option_votes'], 'option_id' => $row[0]['option_id']]; } } } //登陆session if (!$exist) { $exist = $mMember->isRegistByConditons(['mobile' => $params['mobile']]); } $user = ['uid' => $exist['uid'], 'mobile' => $exist['mobile']]; $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $authcode = $session->set('user', $user); $session->close(); echo Yii::$app->util->formatResEncode('0', '成功', ['data' => isset($data) ? $data : '']); return; }
/** * Relation the {{%member}} table * One User to One Member * @return ActiveQuery */ public function getMember() { return $this->hasOne(frontend\models\Member::className(), ['user_id' => 'id']); }
/** * 定义与news_attr_value表的关系 */ public function getMember() { return $this->hasMany(Member::className(), ['uid' => 'uid']); }
/** * 内部数据处理,获取规定格式用户信息 * @param string $userIdStr 用户uid字符串 * -"77,78,79" * @return sting $user 规则数据串 * -"黄小姐|13990150258|77,彭浩|15527890728|78,夏燕成|18628116259|79" */ protected function get_rel_user($userIdStr) { $ids = empty($userIdStr) ? [] : explode(',', $userIdStr); if (count($ids) == 0) { return ''; } $conditions = ['uid' => $ids]; $mMember = new \frontend\models\Member(); $user = $mMember->getMembers($conditions); $user = ArrayHelper::getColumn($user, 'nickname'); $user = implode(',', $user); return $user; }
/** * 获取评论数据 * * @return void * @author niancode **/ public function getCommentsByNewsId($news_id, $count = false, $offset = 0, $limit = null) { $params = [':attr_id' => 7, ':news_id' => $news_id]; // Conditions $conditions = ['limit' => '', 'field' => '']; $conditions['field'] = $count ? 'count(*)' : 'cmt.cmt_reply_num AS reply_count,cmt.cmt_like_num,user.avatar, user.uid, cmt.cmt_id, cmt.cmt_name, FROM_UNIXTIME(cmt.created_at) AS created_at, IF (cmt.owner_id is null or cmt.owner_id = "", "匿名", user.nickname) as nickname'; if (!is_null($limit)) { $params[':limit'] = $limit; $params[':offset'] = $offset; $conditions['limit'] = 'LIMIT :offset, :limit'; } // SQL $command = $this->db->createCommand("SELECT {$conditions['field']} \n FROM {{%news}} AS news \n LEFT JOIN {{%news_attr_value}} AS attr_value USING(news_id)\n LEFT JOIN {{%comment}} AS cmt ON cmt.cmt_id = attr_value.attr_value_text \n LEFT JOIN {{%member}} AS user ON user.uid = cmt.owner_id\n WHERE news_id = :news_id And attr_value.attr_id = :attr_id AND cmt.cmt_active = 0 ORDER BY cmt.created_at DESC {$conditions['limit']}")->bindValues($params); $result = $count ? $command->queryScalar() : $command->queryAll(); // print_r($result);exit; if (is_array($result) && count($result) > 0) { foreach ($result as $key => $value) { $field = 'cmt.*,rel.cmt_id AS rel_cmt_id, rel.user_id, member.nickname, member.mobile, member.email, member.avatar'; $limit = 'LIMIT 0, 1'; $params = [':parent_id' => $value['cmt_id']]; $command = $this->db->createCommand("SELECT {$field} FROM {{%comment}} AS cmt \n LEFT JOIN {{%rel_comment_with_user}} AS rel USING(cmt_id)\n LEFT JOIN {{%member}} AS member ON member.uid = cmt.owner_id\n WHERE parent_id = :parent_id AND cmt.cmt_active = 0 ORDER BY cmt.created_at DESC {$limit}")->bindValues($params); $re = $command->queryOne(); if (is_array($re) && count($re) > 0) { $name = ''; if (!empty($re['user_id'])) { //名字处理 $reply = empty($re['nickname']) ? $re['mobile'] : $re['nickname']; $reply = empty($reply) ? $re['email'] : $reply; $reply = Yii::$app->util->cmtName($reply); //名字格式处理 $name = '回复' . Html::a($reply, Url::to(['home-page/lists', 'uid' => $re['user_id']], true)) . ' '; } $mMember = new Member(); $member = $mMember->getByUid($re['owner_id']); $tmp = empty($member['nickname']) ? $member['mobile'] : $member['nickname']; $tmp = empty($tmp) ? $member['email'] : $tmp; $re['owner_name'] = Yii::$app->util->cmtName($tmp); $re['created_at'] = date('Y-m-d H:i:s', $re['created_at']); $re['cmt_name'] = $name . $re['cmt_name']; $result[$key]['reply'] = $re; } } } // print_r($result);exit; return $result; }
/** * 活动产品关联搜索 * @param array $options 搜索条件 * [ * 'page' => '页码', * 'product_name' => '产品名', * 'user_name' => '发布人姓名', * 'nickname' => '发布人昵称', * 'mobile' => '电话', * 'status' => '活动状态', * 'activity' => '活动', * ] * @return [type] [description] */ public function search($options = []) { $df = ['page' => 1, 'product_name' => '', 'user_name' => '', 'nickname' => '', 'mobile' => '', 'status' => 0, 'activity' => 0]; $options = array_merge($df, $options); $statusFields = [self::STATUS_SAVE, self::STATUS_VERIFYING, self::STATUS_VERIFY_THROUGH, self::STATUS_VERIFY_NOTTHROUGH]; $activitiesFields = ['7' => '365', '8' => '一呼百应', '9' => '中国好产品']; $activitiesFields = array_keys($activitiesFields); $options['status'] = in_array($options['status'], $statusFields) ? $options['status'] : 0; $options['activity'] = in_array($options['activity'], $activitiesFields) ? $options['activity'] : 0; $choose = [self::tableName() . '.status ' => $options['status'], self::tableName() . '.acti_id ' => $options['activity']]; $choose = array_filter($choose); $offset = ($options['page'] - 1) * self::ACT_PAGESIZE; $data = self::find()->joinWith(['member' => function ($query) { $query->select([Member::tableName() . '.uid', Member::tableName() . '.truename', Member::tableName() . '.nickname', Member::tableName() . '.mobile', Member::tableName() . '.email']); }, 'activity' => function ($query) { $query->select([ActivityBase::tableName() . '.id', ActivityBase::tableName() . '.subject', ActivityBase::tableName() . '.summary']); }, 'product' => function ($query) { $query->select([IProductBase::tableName() . '.id', IProductBase::tableName() . '.name']); }])->where(self::tableName() . '.status != :del', [':del' => self::STATUS_INVALID])->andFilterWhere(['like', IProductBase::tableName() . '.name', $options['product_name']])->andFilterWhere(['like', Member::tableName() . '.truename', $options['user_name']])->andFilterWhere(['like', Member::tableName() . '.nickname', $options['nickname']])->andFilterWhere(['like', Member::tableName() . '.mobile', $options['mobile']])->andFilterWhere($choose)->offset($offset)->limit(self::ACT_PAGESIZE)->orderBy([self::tableName() . '.id' => SORT_DESC]); return $data; }
public function actionCheckcode() { $params = Yii::$app->request->post(); // 联调时需要改成post $session = Yii::$app->session; $session->isActive ? '' : $session->open(); // print_r($params); $output = array(); if ($params) { $mobile = intval($params['mobile']); $authcode = isset($params['authcode']) ? strip_tags($params['authcode']) : ''; $member_model = new Member(); $userone = $member_model->getByUserName($mobile); //通过手机号查询用户信息 if (!empty($userone)) { // echo $authcode; // $password = password_encode($authcode,$userone['random']); $passmd = PublicLibrary::password_encode($authcode, $userone['random']); // echo $passmd;exit; if (!empty($_SESSION['authcode'])) { if ($authcode == $_SESSION['authcode'] || $userone['password'] == $passmd) { //设置登录状态 $_SESSION['user']['uid'] = $userone['uid']; $_SESSION['user']['mobile'] = $userone['mobile']; $_SESSION['user']['truename'] = $userone['truename']; $_SESSION['user']['admin'] = 0; //普通用户登录 //设置登陆日志 $MemberLog_model = new MemberLog(); $MemberLog_model->saveLog(array('uid' => $userone['uid'])); $output['status'] = 1; $output['res'] = $userone; $output['info'] = '验证通过,登录成功!'; } else { $output['status'] = 2; $output['res'] = ''; $output['info'] = '验证码或密码错误!'; } } else { // mimacuowu*** if ($userone['password'] == $passmd) { //设置登录状态 $_SESSION['user']['uid'] = $userone['uid']; $_SESSION['user']['mobile'] = $userone['mobile']; $_SESSION['user']['truename'] = $userone['truename']; $_SESSION['user']['admin'] = 0; //普通用户登录 //设置登陆日志 $MemberLog_model = new MemberLog(); $MemberLog_model->saveLog(array('uid' => $userone['uid'])); $output['status'] = 1; $output['res'] = $userone; $output['info'] = '验证通过,登录成功!'; } else { $output['status'] = 2; $output['res'] = ''; $output['info'] = '密码错误!'; } } } else { if (!empty($_SESSION['authcode'])) { if ($authcode == $_SESSION['authcode']) { $_SESSION['user']['mobile'] = $mobile; $output['status'] = 1; $output['res'] = ''; $output['info'] = '验证通过,登录成功!'; } else { $output['status'] = 3; $output['res'] = ''; $output['info'] = '验证码不正确!'; } } else { $output['status'] = 3; $output['res'] = ''; $output['info'] = '验证码不正确1!'; } } } else { $output['status'] = 3; $output['res'] = ''; $output['info'] = '签名验证出错!'; } $output = PublicLibrary::format_res_encode($output['status'], $output['info'], $output['res']); // var_dump($output); echo $output; }
/** * 第三方登陆,完善信息第三步 * 验证密码,绑定用户 */ public function actionPerfectThird() { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $user = $session->get('user'); $tplType = $user['third_party_login']['type'] ? $user['third_party_login']['type'] : ''; $avatar = $user['third_party_login']['profile']['avatar']; if (Yii::$app->request->isPost) { $username = Yii::$app->request->Post('username'); $password = Yii::$app->request->Post('password'); $return = $this->CheckPassword($username, $password); $return = json_decode($return, true); if ($return['code'] == 0) { $member_model = new Member(); $mUserTpl = new UserThirdPartyLogin(); $userone = $member_model->getByUserName($username); if ($user && $user['uid'] == UserThirdPartyLogin::NOT_BOUND_USERID) { try { $mUserTpl->bind(['open_id' => $user['third_party_login']['open_id'], 'user_id' => $userone['uid']]); } catch (Exception $e) { echo "<script>alert('系统繁忙'),window.location.href='index.php';</script>"; } } else { echo "<script>alert('绑定失败'),window.location.href='index.php';</script>"; } echo "<script>alert('绑定成功!'),window.location.href='" . Url::toRoute('ucenter/index') . "';</script>"; } else { echo "<script>alert('密码不正确!'),window.location.href='" . Url::toRoute(['user/perfect-third', 'username' => $username]) . "';</script>"; } } $username = Yii::$app->request->Get('username'); return $this->render('perfectthird', ['avatar' => $avatar, 'tplType' => $tplType, 'username' => $username]); }
public function actionSendpaysuccess() { // $sms_model = new Sms(); // $mobile = Yii::$app->request->get("mob"); // $sms_model->mobile = $mobile; // $sms_model->content = '您已在一呼百应“duang·duang找踢”活动中,成功购买商品。请登录i代言官方网站查询详情,默认登录名为手机号码,登录密码为手机号后6位。商品将在一周之内打包发出,请耐心等待。关注i代言订阅号,更多新奇特智能新品等你来!【i代言】'; // // $sms_model->content = '您已在一呼百应“duang·duang找踢”活动中,成功购买商品。请登录i代言官方网站查询详情,默认登录名为手机号码,登录密码为手机号后6位。【i代言】'; // $sms_model->from = 'yihubaiying'; //调用来源 // $return = $sms_model->SoapSend(); // var_dump($return); $mobile = Yii::$app->request->get("mob"); $Member_model = new Member(); $userone = $Member_model->getByUserName($mobile); $sms = Yii::$app->dcSMS; $userID = $userone['uid']; $data = ['uid' => $userID, 'mobile' => $mobile, 'business' => 'H_YHBY_AUTO_REG', 'tplno' => 4]; $resp = $sms->send($data); }
/** * 搜索 * @param integer $page 第几页 * @param array $options 搜索参数 * [ * 'name' =>'产品名', * 'usrname' => '发布人名', * 'status' => '产品状态', * 'mobile' => '发布人电话' * ] * @return AR $products 查询中间结果 */ public function search($page = 1, $options = []) { $df = ['name' => '', 'username' => '', 'status' => '', 'mobile' => '']; $options = array_merge($df, $options); $offSet = ($page - 1) * self::PAGE_SIZE; $products = self::find()->joinWith('user')->where('status != :del', [':del' => 0])->andFilterWhere(['status' => $options['status']])->andFilterWhere(['like', 'name', $options['name']])->andFilterWhere(['like', Member::tableName() . '.username', $options['username']])->andFilterWhere(['like', Member::tableName() . '.mobile', $options['mobile']])->orderBy(['id' => SORT_DESC])->offset($offSet)->limit(self::PAGE_SIZE); return $products; }
/** * 使用用户手机号、邮箱 查询该用户信息 * @param $username 用户名(手机号、邮箱) * * @return array */ public function getByUserName($username = '') { $result = ''; if (empty($username)) { return $result; } if (PublicLibrary::checkMobileType($username) > 0) { $key = 'mobile'; } if (PublicLibrary::is_valid_email($username)) { $key = 'email'; } if (isset($key)) { $result = Member::find()->where([$key => $username, 'is_del' => Member::STATUS_MEMBERIS_DEL])->asArray()->one(); return $result; } }
/** * [产品详情] * @param int $id 产品id * @return array 产品信息渲染到页面view */ public function actionView($id) { $session = Yii::$app->session; $session->isActive ? '' : $session->open(); //判断产品是否发布 $base = IProductBase::find()->select('status,uid')->where('id = :id', [':id' => $id])->asArray()->one(); if (!empty($_SESSION['user'])) { if ($base['status'] != IProductBase::STATUS_VERIFEND) { if ($base['uid'] != $_SESSION['user']['uid']) { return $this->redirect(['index']); //跳转到完善信息 } } } else { if ($base['status'] != IProductBase::STATUS_VERIFEND) { return $this->redirect(['index']); //跳转到完善信息 } } //增加总访问量 $mProductStat = new IProductStat(); $mProductStat->modify('page_views', $id, 1, true); //访问日志 $mViewsLog = new ViewsLog(); $mViewsLog->modify($id, ViewsLog::PRODUCT_TYPE); //增加周访问量,月访问量 $week_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 7); $month_num = $mViewsLog->ViewsNum($id, ViewsLog::PRODUCT_TYPE, 30); $mProductStat->modifyviewnum('week_views', $id, $week_num); $mProductStat->modifyviewnum('month_views', $id, $month_num); //基础数据和扩展数据查询 $re = IProductBase::find()->With('extra', 'stat')->where(IProductBase::tableName() . '.id = :id', [':id' => $id])->asArray()->one(); //该产品用户共发布产品数 $presentNum = IProductBase::find()->where(['uid' => $re['uid'], 'status' => IProductBase::STATUS_VERIFEND])->count(); //喜欢此产品用户 $model = new ProductFollow(); $loves = $model->getFollowUsers($id); //产品发布人头像及姓名 $model = new Member(); $user = $model->find()->select(['avatar', 'nickname'])->where(['uid' => $re['uid']])->asArray()->one(); //参加活动 $model = new ActivityProduct(); // print_r($id);exit; $actives = $model->getActivityDetail($id); // $actives = $model->getActivitiseById($id); // print_r($actives);exit; foreach ($actives as $key => $value) { if ($value['acti_id'] == 8) { $mBaiyingShare = new BaiyingShare(); $number = $mBaiyingShare->getShareNum($value['id']); } if ($value['acti_id'] == 9) { $rel_id = $value['id']; } } //活动map $activityBase = new ActivityBase(); $activesMap = $activityBase->getActivityMap(); if (isset($rel_id)) { //投票信息 $city = "上海"; $poll_type_id = PollType::GOODPRODUCT_TYPE; $mpoll = new poll(); $pollone = $mpoll->getPollByCity($city, $poll_type_id); //投票项信息 $moption = new polloption(); $optione = $moption->getOptionByowner($pollone['poll_id'], $rel_id); } return $this->render('view', ['re' => $re, 'present_num' => $presentNum, 'actives' => $actives, 'now' => time(), 'number' => isset($number) ? intval($number) : '', 'loves' => $loves, 'user' => $user, 'activesMap' => $activesMap, 'optione' => isset($optione) ? $optione : '']); }
public function findMember() { return $this->hasOne(Member::classname(), ['user_id' => 'id'])->one(); }
/** * 修改用户头像 */ public function actionEditAvatar() { //判断登陆 $user = PublicLibrary::is_login(); if (empty($user)) { echo PublicLibrary::format_res_encode('1002', 'login error'); exit; } else { $uid = $user['uid']; } //$uid = 26; if (Yii::$app->request->isPost) { $data = Yii::$app->request->post(); $Member_model = Member::findOne($uid); /*图片上传*/ $images = UploadedFile::getInstanceByName('avatarfile'); //取得上传文件名 if ($images) { $rootpath = 'uploads/' . date('Ymd') . '/'; //图片保存路径 if (!file_exists($rootpath)) { //生成图片路径 mkdir($rootpath, 0700, true); } $ext = $images->getExtension(); //取得图片扩展名 $randname = date('YmdHis') . rand(10000, 9999) . '.' . $ext; $path_face = $rootpath . $randname; //图片路径 if ($images->saveAs($path_face)) { $Member_model->avatar = $path_face; $imagename = $images->name; $res = $this->Smallimg($rootpath, $randname, $data); $Member_model->avatar = $res; $Member_model->avatar_cut = $data['cutPos']; if ($Member_model->save()) { echo PublicLibrary::format_res_encode('0', 'success'); } else { echo PublicLibrary::format_res_encode('1001', 'save error'); } } else { echo PublicLibrary::format_res_encode('1003', 'upload error'); } } else { $avatar = $data['oavatar']; if ($avatar) { $arrpath = explode('/', $avatar); $path = $arrpath[1] . '/' . $arrpath['2'] . '/'; $res = $this->Smallimg($path, $arrpath['3'], $data); $Member_model->avatar = $res; $Member_model->avatar_cut = $data['cutPos']; if ($Member_model->save()) { echo PublicLibrary::format_res_encode('0', 'success'); } else { echo PublicLibrary::format_res_encode('1001', 'save error'); } } //var_dump($Member_model); //echo PublicLibrary::format_res_encode('1004','image error'); } } else { echo PublicLibrary::format_res_encode('1005', 'request error'); } }
/** * 用户产品列表 * * 个人中心产品列表显示 * * @param int $uid 用户的id号 * * @return array 个人中心产品列表页渲染所有数据 */ public function actionLists() { // print_r($_GET);exit; $uid = Yii::$app->request->get('uid'); $uid = intval($uid); $self = false; //表示身份 $login = PublicLibrary::is_login() ? PublicLibrary::is_login() : ''; //异常默认uid if (empty($uid) && PublicLibrary::is_login()) { $uid = $login['uid']; } //判断是否登录 if ($login !== '' && $login['uid'] == $uid) { $self = true; } //用户信息 $member = new Member(); $user = $member->getByUid($uid); // print_r($user);exit; //完善用户信息 if (!$user) { //是否存在该用户 return $this->redirect(['product/index']); } else { $user['renqi'] = isset($user['memberstar']) && is_array($user['memberstar']) ? array_sum($user['memberstar']) : 0; //用户位置信息 $dist = new District(); if (!empty($user['city'])) { $user['address'] = $dist->getByCity($user['city']['id']); } else { // $user['address'] = $dist->getByCity(40); $user['address'] = ['name' => '不详', 'province' => '地址']; } //获取用户头像 $user['avatar'] = PublicLibrary::getBigAvatar($user['avatar']); //获取用户发布产品个数数据 $iProductBase = new IProductBase(); $user['pub_num'] = $iProductBase->getCountByUid($uid); } //筛选map $activeMap = ['0' => '全部', '1' => '即将开始', '2' => '预定中', '3' => '已结束']; //游客和自己可以看的map是不同的 if ($self) { //筛选参数处理 $statusMap = ['0' => '全部', '2' => '待发布', '3' => '审核中', '4' => '发布中', '6' => '审核未通过']; $orderMap = ['0' => '全部', '1' => '最新发布', '2' => '支持最多', '3' => '最新更新']; } else { //筛选参数处理 $statusMap = ['0' => '全部', '2' => '待发布']; $orderMap = ['0' => '默认', '1' => '最新发布', '2' => '支持最多', '3' => '最新更新']; } $params = []; $type = Yii::$app->request->get('type') ? Yii::$app->request->get('type') : 0; $type = intval($type); in_array($type, array_keys($statusMap)) ? $params['type'] = $type : ($params['type'] = 0); $stat = Yii::$app->request->get('stat') ? Yii::$app->request->get('stat') : 0; $stat = intval($stat); in_array($stat, array_keys($activeMap)) ? $params['stat'] = $stat : ($params['stat'] = 0); $order = Yii::$app->request->get('order') ? Yii::$app->request->get('order') : 0; $order = intval($order); in_array($order, array_keys($orderMap)) ? $params['order'] = $order : ($params['order'] = 0); $iProductBase = new IProductBase(); $list = $iProductBase->choose($uid, $type, $stat, $order); //获取用户没有删除的产品总数 $user['count'] = $iProductBase->hasCountByUid($uid); // print_r($user['count']);exit; //修该 $list便于模板展示 //未填第二步发布信息,提示信息map $map = ['roles' => ['1' => '创始人', '2' => '合伙人', '3' => '分销推广代表', '4' => '投资人', '5' => '股东', '6' => '企业法人', '7' => '继承人', '8' => '投资人', '9' => '股东', '10' => '企业法人', '11' => '继承人'], 'ages' => ['1' => '0-15周岁', '10' => '16-30周岁', '100' => '30-60周岁', '1000' => '60周岁以上'], 'gender' => ['0' => '全部', '1' => '男', '2' => '女']]; //活动map $activityBase = new ActivityBase(); $activesMap = $activityBase->getActivityMap(); //休整$list——便于显示 // print_r($list);exit; foreach ($list as $k => $v) { if ($v['status'] == IProductBase::STATUS_VERIFEND) { //产品都是发布成功的——状态为4 //功能判断标志 $rendMark = ['del' => 1, 'update' => 1, 'apply' => 1]; //产品发布天数 $days = floor((time() - $v['create_time']) / 86400); $list[$k]['days'] = $days; if (!empty($v['aproduct'])) { //有活动 //到期时间——默认为true到期 $endTime = true; //活动计数 $num = 0; foreach ($v['aproduct'] as $ki => $vi) { // print_r(!$self);exit; //当游客看时 取出不合格的活动信息 if ($self) { if ($vi['acti_id'] == ActivityBase::FANS_FESTIVAL) { unset($list[$k]['aproduct'][$ki]); continue; } } else { if ($vi['acti_id'] == ActivityBase::FANS_FESTIVAL || $vi['status'] != ActivityProduct::STATUS_VERIFY_THROUGH) { unset($list[$k]['aproduct'][$ki]); continue; } } $num++; if ($vi['end_time'] > time()) { $endTime = false; } //删除功能 if ($vi['status'] == ActivityProduct::STATUS_VERIFYING || $vi['status'] == ActivityProduct::STATUS_VERIFY_THROUGH) { //审核中或有通过审核的 $rendMark['del'] = 0; } //编辑功能 if ($vi['status'] == ActivityProduct::STATUS_VERIFYING) { $rendMark['update'] = 0; } //活动申请 if ($num == 4 || $vi['status'] == ActivityProduct::STATUS_VERIFYING || $vi['status'] == ActivityProduct::STATUS_VERIFY_NOTTHROUGH || $vi['status'] == ActivityProduct::STATUS_SAVE) { $rendMark['apply'] = 0; } //状态显示 $map1 = ['flow' => '', 'now' => time()]; if ($vi['status'] == ActivityProduct::STATUS_SAVE) { $map1['flow'] = '保存中'; } else { if ($vi['status'] == ActivityProduct::STATUS_VERIFYING) { $map1['flow'] = '审核中'; } else { if ($vi['status'] == ActivityProduct::STATUS_VERIFY_NOTTHROUGH) { $map1['flow'] = '审核未通过'; } else { if ($vi['status'] == ActivityProduct::STATUS_VERIFY_THROUGH) { if (!empty($vi['start_time']) || !empty($vi['end_time'])) { $start = $vi['start_time']; $end = $vi['end_time']; } else { $start = $activesMap[$vi['acti_id']]['start_time']; $end = $activesMap[$vi['acti_id']]['end_time']; } // $start = $vi['start_time']; // $end = $vi['end_time']; $now = time(); if ($now < $start) { $map1['flow'] = '即将开始'; } else { if ($end > $now && $now >= $start) { $map1['flow'] = '进行中'; } else { if ($now >= $end) { $map1['flow'] = '已结束'; } } } } } } } $list[$k]['aproduct'][$ki]['map'] = $map1; //页面只显示四个活动 多的数据清除掉 if ($num > 4) { unset($list[$k]['aproduct'][$ki]); } } if ($endTime) { $rendMark['del'] = 1; } } $list[$k]['rendMark'] = $rendMark; } else { if ($v['status'] == IProductBase::STATUS_FIRST || $v['status'] == IProductBase::STATUS_INVALID) { //状态为5 只发布第一步 或状态为99 预览 显示信息拼凑 $list[$k]['apply_role'] = $map['roles'][$v['apply_role']]; $rand = str_split(str_pad($v['user_oriented_age'], 4, 0, STR_PAD_LEFT)); $ages = ''; $rand[3] ? $ages .= $map['ages']['1'] . ' 、' : ($ages = $ages); $rand[2] ? $ages .= $map['ages']['10'] . ' 、' : ($ages = $ages); $rand[1] ? $ages .= $map['ages']['100'] . ' 、' : ($ages = $ages); $rand[0] ? $ages .= $map['ages']['1000'] . ' 、' : ($ages = $ages); $list[$k]['user_oriented_age'] = trim($ages, '、'); $list[$k]['user_oriented_gender'] = $map['gender'][$v['user_oriented_gender']]; $iProductType = new IProductType(); $typeMap = $iProductType->getTypeMap(); $list[$k]['type'] = $typeMap[$v['type']]; } } } // print_r($list);exit; // //活动map // $activityBase = new ActivityBase(); // $activesMap = $activityBase->getActivityMap(); // print_r($activesMap);exit; //调用个人中心的布局 $this->layout = '@app/views/layouts/main.php'; // return $this->render( // 'index', // [ // 'list' => $list, // 'user' => $user, // 'self' => $self, // 'activesMap' => $activesMap // ] // ); // print_r($list);exit; //user 数据添加 $mMerberStat = new MemberStat(); $user['stat'] = $mMerberStat->getByUid($uid); // print_r($list);exit; $refresh = isset($_GET['pid']) ? $_GET['pid'] : ''; return $this->render('homepage', ['user' => $user, 'self' => $self, 'list' => $list, 'params' => $params, 'statusMap' => $statusMap, 'orderMap' => $orderMap, 'activesMap' => $activesMap, 'activeMap' => $activeMap, 'refresh' => $refresh]); }
/** * Action Detail * @param $id int 资讯id */ public function actionDetail($id) { //增加总访问量 $mPostAttrStat = new PostAttrStat(); $mPostAttrStat->modify('attr_stat_view_num', intval($id), 1, true); //访问日志 $mViewsLog = new ViewsLog(); $mViewsLog->modify(intval($id), ViewsLog::ARTICLE_TYPE); //增加周访问量,月访问量 $week_num = $mViewsLog->ViewsNum(intval($id), ViewsLog::ARTICLE_TYPE, 7); $month_num = $mViewsLog->ViewsNum(intval($id), ViewsLog::ARTICLE_TYPE, 30); $mPostAttrStat->modifyviewnum('week_views_num', intval($id), $week_num); $mPostAttrStat->modifyviewnum('month_views_num', intval($id), $month_num); //获取资讯详情信息 $mNewsMessage = new Post(); $mNewsMessage = $mNewsMessage->getNewsDetail($id); if (!empty($mNewsMessage[0]['news_video_url'])) { $url = preg_match_all('/http:\\/\\/(.*?)?\\.(.*?)?\\.com\\/(.*)/', $mNewsMessage[0]['news_video_url'], $types); if (!empty($types) && !empty($types[2]) && $types[2][0] == "youku") { $mNewsMessage[0]['news_video_url'] = Yii::$app->util->generalVideo($mNewsMessage[0]['news_video_url']); //视频地址处理 } else { $mNewsMessage[0]['news_video_url'] = ""; } } // echo "<pre>"; // var_dump($mNewsMessage[0]);die; //获取热门产品 $mProductStat = new IProductStat(); $HotProducts = $mProductStat->getHotProduct(); // echo "<pre>"; // var_dump($HotProducts);die; //获取热门文章 $mPostStat = new PostAttrStat(); $HotArticles = $mPostStat->getHotArticle(); // echo "<pre>"; // var_dump($HotArticles);die; //获取相关用户 $mPostMember = new PostAttrVal(); $similarMember = $mPostMember->getSimilarMember($id); // echo "<pre>"; // var_dump($HotArticles);die; //获取相关文章 $mPostNews = new PostAttrVal(); $similarNews = $mPostNews->getSimilarNews($id); // echo "<pre>"; // var_dump($HotArticles);die; //登录用户获取用户信息 $follow = ['follow' => false, 'like' => false]; if ($user = Yii::$app->util->isLogin()) { $mMember = new Member(); $re = $mMember->getByUid($user['uid']); $user['avatar'] = $re['avatar']; // 获取用户是否喜欢/Like $mFollow = new Follow(); $follow['follow'] = $mFollow->getUserFollow($id, $user['uid']); $follow['like'] = $mFollow->getUserLike($id, $user['uid']); } //评论 $mComment = new Comment(); $comment = $mComment->getCommentsByNewsId($id, false, 0, Comment::NEWS_COMMENT_PAGESIZE); $total = $mComment->getCommentsByNewsId($id, true); // print_r($comment);exit; // print_r($total);exit; if (isset($mNewsMessage[0])) { return $this->render('detail', ['detail' => $mNewsMessage[0], 'products' => $HotProducts, 'article' => $HotArticles, 'similarMember' => $similarMember, 'similarNews' => $similarNews, 'user' => $user ? $user : '', 'comment' => $comment, 'total' => $total, 'follow' => $follow]); } else { return $this->redirect(['news/index']); //跳转到资讯首页 } }
<?php use yii\helpers\Url; use frontend\models\UserThirdPartyLogin; //用户第三方登录模型 use frontend\models\Member; //用户模型 $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $user = $session->get('user'); $tplogin = isset($user['third_party_login']) ? $user['third_party_login'] : false; if ($user['uid'] == UserThirdPartyLogin::NOT_BOUND_USERID) { $user['avatar'] = $tplogin['profile']['avatar']; } elseif (!empty($user)) { $member_model = new Member(); $user = $member_model->getByUid($user['uid']); // var_dump($user); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>一呼百应</title> <!-- @require "styles/lib/normalize.css" @require "styles/activity_365.less" @require "styles/common.css" @require "styles/special-yihubaiying.less" --> <link rel="stylesheet" type="text/css" href="<?php
/** * 评论回复写入接口 */ public function actionReply() { $params = Yii::$app->request->post(); //判断登录 $user = Yii::$app->util->isLogin(); if (!$user) { echo Yii::$app->util->formatResEncode('1001', '没有登录,请登录'); return; } //参数判断 if (!isset($params['parent_id']) || !is_numeric($params['parent_id']) || !isset($params['cmt_name']) || empty($params['cmt_name'])) { echo Yii::$app->util->formatResEncode('1002', '参数异常'); return; } $mComment = new Comment(); //回复数加1 $mComment->addNum(['cmt_id' => $params['parent_id']]); $params['owner_id'] = $user['uid']; $params['cmt_type_id'] = 1; //获取头像 $mMember = new Member(); $member = $mMember->getByUid($user['uid']); $name = ''; if (isset($params['user_id'])) { $memberx = $mMember->getByUid($params['user_id']); //名字获取 $reply = empty($memberx['nickname']) ? $memberx['mobile'] : $memberx['nickname']; $reply = empty($reply) ? $memberx['email'] : $reply; $reply = Yii::$app->util->cmtName($reply); //名字格式处理 $name = '回复' . Html::a($reply, Url::to(['home-page/lists', 'uid' => $memberx['uid']], true)) . ' '; // $name = '回复' . Html::a($reply, ['home-page/lists', 'uid' => $memberx['uid']]) . ' '; } $nickname = empty($user['nickname']) ? $user['mobile'] : $user['nickname']; $nickname = empty($nickname) ? $user['email'] : $nickname; $nickname = Yii::$app->util->cmtName($nickname); if ($mComment->saveStore($params)) { $data = ['avatar' => $member['avatar'], 'parent_id' => $params['parent_id'], 'uid' => $user['uid'], 'nickname' => $nickname, 'cmt_name' => $name . $params['cmt_name'], 'created_at' => date("Y-m-d H:i:s", time())]; echo Yii::$app->util->formatResEncode('0', '成功', $data); return; } else { echo Yii::$app->util->formatResEncode('1003', '保存错误'); return; } }