3 namespace BookStack\Http\Middleware;
5 use BookStack\Exceptions\UnauthorizedException;
6 use Illuminate\Http\Request;
8 trait ChecksForEmailConfirmation
11 * Check if the current user has a confirmed email if the instance deems it as required.
12 * Throws if confirmation is required by the user.
13 * @throws UnauthorizedException
15 protected function ensureEmailConfirmedIfRequested()
17 if ($this->awaitingEmailConfirmation()) {
18 throw new UnauthorizedException(trans('errors.email_confirmation_awaiting'));
23 * Check if email confirmation is required and the current user is awaiting confirmation.
25 protected function awaitingEmailConfirmation(): bool
27 if (auth()->check()) {
28 $requireConfirmation = (setting('registration-confirmation') || setting('registration-restrict'));
29 if ($requireConfirmation && !auth()->user()->email_confirmed) {