/** * 初始化 * @see \yii\base\Object::init() */ public function init() { parent::init(); $sessionUser = ZCommonSessionFun::get_user_session(); //没有设置用户信息 if (ZCommonSessionFun::get_user_id() > 0 && !isset($sessionUser['is_set_profile'])) { $sessionUser['is_set_profile'] = true; $model_UserProfile = new UserProfile(); $condition['uid'] = ZCommonSessionFun::get_user_id(); if ($model_UserProfile = $model_UserProfile->findOne($condition)) { $sessionUser['head_image'] = $model_UserProfile->getHeadImage0(); $sessionUser['nickname'] = $model_UserProfile->getNickname0(); $sessionUser['intro'] = $model_UserProfile->getIntro0(); ZCommonSessionFun::set_user_session($sessionUser); } } }
/** * 注册 */ 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; }
/** * 绑定,注册 * @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]); }
/** * 退出 */ public function actionLogout() { ZCommonSessionFun::set_user_session(null); return $this->redirect(['survey/index']); }