/** * 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; }
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); }