/**
  * Signs user up.
  *
  * @return User|null the saved model or null if saving fails
  */
 public function signup()
 {
     if ($this->validate() === true) {
         $user = new User();
         $user->setScenario('signup');
         $user->username = $this->username;
         $user->password = $this->password;
         $user->email = $this->email;
         $user->generateAuthKey();
         if ($user->save() === false) {
             return null;
         }
         return $user;
     }
     return null;
 }
Exemple #2
0
 public function beforeSave($insert)
 {
     if ($this->scenario == 'registerUser') {
         $password = Yii::$app->security->generateRandomString(10);
         $user = new User();
         $user->setScenario('signup');
         $user->username = $this->email;
         $user->email = $this->email;
         $user->first_name = $this->first_name;
         $user->last_name = $this->last_name;
         $user->password = $password;
         $user->generateAuthKey();
         if ($user->save()) {
             Yii::$app->mail->compose('new-user-in-order', ['user' => $user, 'password' => $password])->setFrom(Yii::$app->getModule('core')->emailConfig['mailFrom'])->setTo($this->email)->setSubject(Yii::t('app', 'Welcome to {appName}', ['appName' => Yii::$app->getModule('DefaultTheme')->siteName]))->send();
             Yii::$app->user->login($user, 86400);
             $this->user_id = $user->id;
         }
     }
     return parent::beforeSave($insert);
 }