Example #1
0
 /**
  * 注册
  */
 public function register()
 {
     $this->created = NOW_TIME_YmdHis;
     $this->flag = NOW_TIME_STAMP;
     if ($this->validate()) {
         $post_pass = $this->pass;
         $this->is_bind_user = 1;
         if ($this->save()) {
             $this->pass = ZCommonFun::getPass($post_pass);
             $this->save();
             $userInfo = $this->attributes;
             isset($userInfo['role']) ? null : ($userInfo['role'] = 0);
             //角色
             $userInfo['openidInfo'] = null;
             //第三方登录信息
             ZCommonSessionFun::set_user_session($userInfo);
             //                ZCommonFun::print_r_debug($this);
             //                exit;
             return true;
         }
         return false;
     }
     return false;
 }
 /**
  * 绑定账号
  */
 public function actionBindAccount()
 {
     $this->layout = false;
     $old_login_uid = ZCommonSessionFun::get_user_id();
     if (ZCommonSessionFun::get_user_id() < 1) {
         $url = Yii::$app->urlManager->createUrl([ZCommonSessionFun::urlLoginUserStr]);
         return $this->redirect($url);
     }
     $model = new User();
     if (isset($_POST['User']['user']) && isset($_POST['op'])) {
         $post = $_POST['User'];
         $user = isset($post['user']) ? $post['user'] : '';
         $pass = isset($post['pass']) ? $post['pass'] : '';
         $post = $_POST['User'];
         //已有账户绑定
         if ($_POST['op'] == 1) {
             $condition['user'] = $user;
             $model_find = new User();
             $model_find = $model_find->find()->where($condition)->one();
             if (!$model_find) {
                 $model->addError('user', '用户没有找到');
             } else {
                 if ($model_find->pass != ZCommonFun::getPass($pass)) {
                     $model->addError('pass', '密码错误');
                 } else {
                     if ($model_find->is_bind_user == 1) {
                         $model->addError('user', '账户已被绑定过');
                     } else {
                         $connection = Yii::$app->db;
                         $transaction = $connection->beginTransaction();
                         try {
                             $model_find->is_bind_user = 1;
                             $model_find->save();
                             $model_Oauth = new OauthBind();
                             $model_Oauth_condition['uid'] = $old_login_uid;
                             $model_Oauth_attributes['uid'] = $model_find->uid;
                             $model_Oauth->updateAll($model_Oauth_attributes, $model_Oauth_condition);
                             $transaction->commit();
                             ZCommonSessionFun::set_user_session($model_find->attributes);
                             $url = Yii::$app->urlManager->createUrl(['user-profile/bind-list']);
                             return $this->redirect($url);
                         } catch (\Exception $e) {
                             $transaction->rollBack();
                             $model->addError('user', '绑定失败');
                         }
                     }
                 }
             }
         } else {
             $model->pass = ZCommonFun::getPass($model->pass);
             $model = $model->findOne(ZCommonSessionFun::get_user_id());
             if ($model) {
                 $model->user = $user;
                 $model->pass = ZCommonFun::getPass($pass);
                 $model->is_bind_user = 1;
                 if ($model->save()) {
                     ZCommonSessionFun::set_user_session($model->attributes);
                     $url = Yii::$app->urlManager->createUrl(['user-profile/bind-list']);
                     return $this->redirect($url);
                 }
             } else {
                 $model = new User();
                 $model->user = $user;
                 $model->pass = $pass;
                 $model->addError('user', '用户已被删除');
             }
         }
     }
     return $this->render('bind-account', ['model' => $model]);
 }