Example #1
0
 /**
  * Finds user by [[username]]
  *
  * @return Member|null
  */
 protected function getUser()
 {
     if ($this->_user === null) {
         $this->_user = Member::findByUsername($this->username);
     }
     return $this->_user;
 }
Example #2
0
 /**
  * 定义与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;
 }
Example #4
0
 /**
  * Relation the {{%member}} table
  * One User to One Member
  * @return ActiveQuery
  */
 public function getMember()
 {
     return $this->hasOne(frontend\models\Member::className(), ['user_id' => 'id']);
 }
Example #5
0
 /**
  * 定义与news_attr_value表的关系
  */
 public function getMember()
 {
     return $this->hasMany(Member::className(), ['uid' => 'uid']);
 }
Example #6
0
 /**
  * 内部数据处理,获取规定格式用户信息
  * @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;
 }
Example #7
0
 /**
  * 获取评论数据
  *
  * @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;
 }
Example #8
0
 /**
  * 活动产品关联搜索
  * @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;
 }
Example #9
0
 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;
 }
Example #10
0
 /**
  * 第三方登陆,完善信息第三步
  *  验证密码,绑定用户
  */
 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]);
 }
Example #11
0
 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);
 }
Example #12
0
 /**
  * 搜索
  * @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;
 }
Example #13
0
 /**
  * 使用用户手机号、邮箱  查询该用户信息
  * @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;
     }
 }
Example #14
0
 /**
  * [产品详情]
  * @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 : '']);
 }
Example #15
0
 public function findMember()
 {
     return $this->hasOne(Member::classname(), ['user_id' => 'id'])->one();
 }
Example #16
0
 /**
  * 修改用户头像
  */
 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');
     }
 }
Example #17
0
 /**
  * 用户产品列表
  *
  * 个人中心产品列表显示
  *
  * @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]);
 }
Example #18
0
 /**
  * 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']);
         //跳转到资讯首页
     }
 }
Example #19
0
<?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 
Example #20
0
 /**
  * 评论回复写入接口
  */
 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)) . '&nbsp;';
         // $name = '回复' . Html::a($reply, ['home-page/lists', 'uid' => $memberx['uid']]) . '&nbsp;';
     }
     $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;
     }
 }