users = $users; } /** * @param ConfirmEmail $command * @return \Flarum\Core\Users\User * @throws InvalidConfirmationTokenException */ public function handle(ConfirmEmail $command) { $token = EmailToken::find($command->token); if (! $token) { throw new InvalidConfirmationTokenException; } $user = $token->user; $user->changeEmail($token->email); if (! $user->is_activated) { $user->activate(); } event(new UserWillBeSaved($user, $command)); $user->save(); $this->dispatchEventsFor($user); $token->delete(); return $user; } }