Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function register()
- {
- if($this->validate()){
- if($this->password === $this->password_repeat){
- $user = new User();
- $modelInfo = new UserInfo();
- $modelProfile = new UserProfile();
- $user->setPassword($this->password);
- $user->email = $this->email;
- $user->role = User::DEFAULT_ROLE_REGISTER;
- $user->generateAuthKey();
- $user->status = Yii::$app->getModule('user')->defaultStatus;
- if($user->save()){
- $modelInfo->id_user = $user->id;
- $modelProfile->id_user = $user->id;
- $modelProfile->name = $this->name;
- $modelProfile->family = $this->family;
- $modelProfile->sex = 1;
- if($modelInfo->save() && $modelProfile->save()){
- $user->sendEmail();
- Yii::$app->getSession()
- ->setFlash('success', 'Вы успешно прошли регистрацию!');
- Yii::$app->getSession()
- ->addFlash('success', 'На указаный вами e-mail отправлена
- инструкция по активации учетной записи!');
- $auth = Yii::$app->authManager;
- $role = $auth->getRole(User::DEFAULT_ROLE_REGISTER);
- $auth->assign($role, $user->id);
- return true;
- } else {
- Yii::$app->getSession()->setFlash('error', 'Ошибка регистрации!');
- return false;
- }
- }
- Yii::$app->getSession()->setFlash('error', Yii::$app->controller->getErrors($user));
- return false;
- } else {
- $this->addError('password', 'Пароли не совпадают.');
- $this->addError('password_repeat', 'Пароли не совпадают.');
- }
- return false;
- }
- Yii::$app->getSession()->setFlash('error', 'Ошибка регистрации!');
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement