public function registration() { if ($this->validate()) { $user = new User(); $user->username = $this->username; $user->email = $this->email; $user->setPassword($this->password); $user->generateAuthKey(); $user->generateActivationToken(); if ($user->save()) { $userRole = Yii::$app->authManager->getRole('user'); Yii::$app->authManager->assign($userRole, $user->id); Yii::$app->mailer->compose(['html' => 'userActivateToken-html', 'text' => 'userActivateToken-text'], ['user' => $user])->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])->setTo($user->email)->setSubject('Activate accaunt for ' . Yii::$app->name)->send(); if ($user->status !== User::STATUS_ACTIVE) { Yii::$app->session->setFlash('success', 'Please, activate your accaunt'); return true; } } } else { return false; } }