예제 #1
0
 /**
  * 注册
  */
 public function actionRegister()
 {
     $this->layout = false;
     $model = new User();
     $post = Yii::$app->request->post();
     $success = '';
     if (isset($post['User'])) {
         $model->load($post);
         $success = $model->register();
         if (isset($_GET['is_ajax'])) {
             $data['code'] = 0;
             $data['errors'] = $model->errors;
             is_array($data['errors']) ? null : ($data['errors'] = []);
             foreach ($data['errors'] as $attrbite => $error) {
                 $data['msg'] = $error[0];
                 $data['code'] = -3;
                 break;
             }
             $model = new User();
             $model->load($post);
             $bind = ZCommonSessionFun::get_session('bind');
             $bind_info = ZCommonSessionFun::get_session('bind_info');
             //                 echo $success,'==';
             //                 ZCommonFun::print_r_debug(ZCommonSessionFun::get_user_session());
             //                 exit;
             if ($success && $bind) {
                 //                     $bind_info['openid'] = $openid;
                 //                     $bind_info['nickname'] = $user_info->nickname;
                 //                     $bind_info['headimgurl'] = $user_info->headimgurl;
                 $model_User = new User();
                 $return = $model_User->userBind('', '', ZCommonSessionFun::get_user_id(), $bind_info['openid'], $bind, $bind_info['nickname'], $bind_info['headimgurl'], false);
             }
             //                 ZCommonFun::print_r_debug($model->oldAttributes['pass']);
             //                 ZCommonFun::print_r_debug($data);
             //                 ZCommonFun::print_r_debug($model->errors);
             //                 exit;
             header('content-type:text/json;charset=utf-8;');
             echo Json::encode($data);
             exit;
         }
         $gourl = !empty($_GET['gourl']) ? $_GET['gourl'] : '';
         $url = $gourl ? $gourl : Yii::$app->urlManager->createUrl(['survey/step1']);
         if ($success) {
             return $this->redirect($url);
         }
         //             ZCommonFun::print_r_debug($post);
     }
     return $this->render('register', ['model' => $model, 'success' => $success]);
 }
예제 #2
0
 /**
  * 绑定,注册
  * @return \yii\base\string
  */
 public function actionBinding()
 {
     $LoginRedirect = new \LoginRedirectYii2();
     $gourl = $LoginRedirect->getFirstVisitUrl();
     $gourl = $gourl ? $gourl : 'survey/my';
     $this->layout = false;
     $bind = ZCommonSessionFun::get_session('bind');
     $bind_info = ZCommonSessionFun::get_session('bind_info');
     //       ZCommonFun::print_r_debug($gourl);
     //       ZCommonFun::print_r_debug($bind);
     //       ZCommonFun::print_r_debug($bind_info);
     //       exit;
     if (ZCommonSessionFun::get_user_id() > 0 && $bind && isset($bind_info['openid'])) {
         $model_User = new User();
         $return = $model_User->userBind('', '', ZCommonSessionFun::get_user_id(), $bind_info['openid'], $bind, $bind_info['nickname'], $bind_info['headimgurl'], false);
         return $this->redirect(['user-profile/bind-list']);
     }
     if ($bind && isset($bind_info['openid'])) {
         $model_OauthBind = new OauthBind();
         $condition['openid'] = $bind_info['openid'];
         $condition['type'] = $bind;
         $model_OauthBind = $model_OauthBind->findOne($condition);
         if ($model_OauthBind) {
             $model = new User();
             $condition = null;
             $condition['uid'] = $model_OauthBind->uid;
             $model = $model->findOne($condition);
             if ($model) {
                 $userInfo = $model->attributes;
                 isset($userInfo['role']) ? null : ($userInfo['role'] = 0);
                 //角色
                 $userInfo['openidInfo'] = null;
                 //第三方登录信息
                 if (isset($model->userProfile)) {
                     $userInfo['profile'] = $model->userProfile->attributes;
                     $userInfo['nickname'] = $model->userProfile->nickname;
                     $userInfo['head_image'] = $model->userProfile->head_image;
                     $userInfo['intro'] = $model->userProfile->intro;
                 }
                 ZCommonSessionFun::set_user_session($userInfo);
                 return $this->redirect([$gourl]);
             }
         }
     }
     $model = new User();
     return $this->render('binding', ['model' => $model]);
 }