3 namespace BookStack\Http\Middleware;
5 use BookStack\Http\Request;
7 use Illuminate\Contracts\Auth\Guard;
10 * Confirms the current user's email address.
11 * Must come after any middleware that may log users in.
16 * The Guard implementation.
21 * Create a new ConfirmEmails instance.
23 public function __construct(Guard $auth)
29 * Handle an incoming request.
31 public function handle(Request $request, Closure $next)
33 if ($this->auth->check()) {
34 $requireConfirmation = (setting('registration-confirmation') || setting('registration-restrict'));
35 if ($requireConfirmation && !$this->auth->user()->email_confirmed) {
36 return $this->errorResponse($request);
40 return $next($request);
44 * Provide an error response for when the current user's email is not confirmed
45 * in a system which requires it.
47 protected function errorResponse(Request $request)
49 if ($request->wantsJson()) {
50 return response()->json([
53 'message' => trans('errors.email_confirmation_awaiting')
58 return redirect('/register/confirm/awaiting');