/** * Process data after registration * * @param \common\modules\user\models\User $user */ protected function afterRegister($user) { /** @var \common\modules\user\models\UserKey $userKey */ // determine userKey type to see if we need to send email $userKey = Yii::$app->getModule("user")->model("UserKey"); if ($user->status == $user::STATUS_INACTIVE) { $userKeyType = $userKey::TYPE_EMAIL_ACTIVATE; } elseif ($user->status == $user::STATUS_UNCONFIRMED_EMAIL) { $userKeyType = $userKey::TYPE_EMAIL_CHANGE; } else { $userKeyType = null; } // check if we have a userKey type to process, or just log user in directly if ($userKeyType) { // generate userKey and send email $userKey = $userKey::generate($user->id, $userKeyType); if (!($numSent = $user->sendEmailConfirmation($userKey))) { // handle email error //Yii::$app->session->setFlash("Email-error", "Failed to send email"); } } else { Yii::$app->user->login($user, Yii::$app->getModule("user")->loginDuration); } }