Advertisement
Guest User

Untitled

a guest
Jun 17th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.30 KB | None | 0 0
  1.     public function register()
  2.     {
  3.         if($this->validate()){
  4.             if($this->password === $this->password_repeat){
  5.                 $user = new User();
  6.                 $modelInfo = new UserInfo();
  7.                 $modelProfile = new UserProfile();
  8.                 $user->setPassword($this->password);
  9.                 $user->email = $this->email;
  10.                 $user->role = User::DEFAULT_ROLE_REGISTER;
  11.                 $user->generateAuthKey();
  12.                 $user->status = Yii::$app->getModule('user')->defaultStatus;
  13.                 if($user->save()){
  14.                     $modelInfo->id_user = $user->id;
  15.                     $modelProfile->id_user = $user->id;
  16.                     $modelProfile->name = $this->name;
  17.                     $modelProfile->family = $this->family;
  18.                     $modelProfile->sex = 1;
  19.                     if($modelInfo->save() && $modelProfile->save()){
  20.                         $user->sendEmail();
  21.                         Yii::$app->getSession()
  22.                             ->setFlash('success', 'Вы успешно прошли регистрацию!');
  23.                         Yii::$app->getSession()
  24.                             ->addFlash('success', 'На указаный вами e-mail отправлена
  25.                    инструкция по активации учетной записи!');
  26.                         $auth = Yii::$app->authManager;
  27.                         $role = $auth->getRole(User::DEFAULT_ROLE_REGISTER);
  28.                         $auth->assign($role, $user->id);
  29.                         return true;
  30.                     } else {
  31.                         Yii::$app->getSession()->setFlash('error', 'Ошибка регистрации!');
  32.                         return false;
  33.                     }
  34.                 }
  35.                 Yii::$app->getSession()->setFlash('error', Yii::$app->controller->getErrors($user));
  36.                 return false;
  37.             } else {
  38.                 $this->addError('password', 'Пароли не совпадают.');
  39.                 $this->addError('password_repeat', 'Пароли не совпадают.');
  40.             }
  41.             return false;
  42.         }
  43.         Yii::$app->getSession()->setFlash('error', 'Ошибка регистрации!');
  44.         return false;
  45.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement