/** * Check received confirmation token and if user found - activate it, set username, roles and log him in * * @param string $token * * @return bool|User */ public function checkConfirmationToken($token) { $user = User::findInactiveByConfirmationToken($token); if ($user) { $user->username = $user->email; $user->status = User::STATUS_ACTIVE; $user->email_confirmed = 1; $user->removeConfirmationToken(); $user->save(false); $roles = (array) Yii::$app->getModule(\Yii::$app->user->moduleAliasName)->rolesAfterRegistration; foreach ($roles as $role) { User::assignRole($user->id, $role); } Yii::$app->user->login($user); return $user; } return false; }