]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Middleware/Authenticate.php
reduced icon size
[bookstack] / app / Http / Middleware / Authenticate.php
index f3c6f592532834d87c71bce7c3af21c2a7060ece..c9b2726e8c4eca4f9148f7567a035433bf216879 100644 (file)
@@ -1,24 +1,20 @@
 <?php
 
-namespace Oxbow\Http\Middleware;
+namespace BookStack\Http\Middleware;
 
 use Closure;
 use Illuminate\Contracts\Auth\Guard;
-use Oxbow\Exceptions\UserRegistrationException;
-use Setting;
 
 class Authenticate
 {
     /**
      * The Guard implementation.
-     *
      * @var Guard
      */
     protected $auth;
 
     /**
      * Create a new filter instance.
-     *
      * @param  Guard $auth
      */
     public function __construct(Guard $auth)
@@ -28,21 +24,24 @@ class Authenticate
 
     /**
      * Handle an incoming request.
-     *
      * @param  \Illuminate\Http\Request  $request
      * @param  \Closure  $next
      * @return mixed
      */
     public function handle($request, Closure $next)
     {
-        if(auth()->check() && auth()->user()->email_confirmed == false) {
-            return redirect()->guest('/register/confirm/awaiting');
+        if ($this->auth->check()) {
+            $requireConfirmation = (setting('registration-confirmation') || setting('registration-restrict'));
+            if ($requireConfirmation && !$this->auth->user()->email_confirmed) {
+                return redirect('/register/confirm/awaiting');
+            }
         }
-        if ($this->auth->guest() && !Setting::get('app-public')) {
+
+        if ($this->auth->guest() && !setting('app-public')) {
             if ($request->ajax()) {
                 return response('Unauthorized.', 401);
             } else {
-                return redirect()->guest('/login');
+                return redirect()->guest(baseUrl('/login'));
             }
         }