]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Middleware/Authenticate.php
replace GPL diff lib with MIT lib
[bookstack] / app / Http / Middleware / Authenticate.php
index b09e9cd32519630837e2d98b0d537d19df653059..599f40c84a7f61ccf9bf497d152dfb39726a0e81 100644 (file)
@@ -1,24 +1,23 @@
 <?php
 
-namespace Oxbow\Http\Middleware;
+namespace BookStack\Http\Middleware;
 
 use Closure;
 use Illuminate\Contracts\Auth\Guard;
+use BookStack\Exceptions\UserRegistrationException;
+use Setting;
 
 class Authenticate
 {
     /**
      * The Guard implementation.
-     *
      * @var Guard
      */
     protected $auth;
 
     /**
      * Create a new filter instance.
-     *
-     * @param  Guard  $auth
-     * @return void
+     * @param  Guard $auth
      */
     public function __construct(Guard $auth)
     {
@@ -27,18 +26,21 @@ class Authenticate
 
     /**
      * Handle an incoming request.
-     *
      * @param  \Illuminate\Http\Request  $request
      * @param  \Closure  $next
      * @return mixed
      */
     public function handle($request, Closure $next)
     {
-        if ($this->auth->guest()) {
+        if ($this->auth->check() && setting('registration-confirmation') && !$this->auth->user()->email_confirmed) {
+            return redirect()->guest('/register/confirm/awaiting');
+        }
+
+        if ($this->auth->guest() && !setting('app-public')) {
             if ($request->ajax()) {
                 return response('Unauthorized.', 401);
             } else {
-                return redirect()->guest('auth/login');
+                return redirect()->guest('/login');
             }
         }