Test Setup Failed
Pull Request — master (#26)
by guillaume
16:27 queued 10:25
created

RedirectIfAuthenticated::handle()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
eloc 5
c 1
b 0
f 0
nc 3
nop 3
dl 0
loc 11
rs 10
1
<?php
2
3
namespace App\Http\Middleware;
4
5
use App\Providers\RouteServiceProvider;
6
use Closure;
7
use Illuminate\Support\Facades\Auth;
8
9
class RedirectIfAuthenticated
10
{
11
    /**
12
     * Handle an incoming request.
13
     *
14
     * @param  \Illuminate\Http\Request  $request
15
     * @param  \Closure  $next
16
     * @param  string|null  $guard
17
     * @return mixed
18
     */
19
    public function handle($request, Closure $next, $guard = null)
20
    {
21
        if($request->has('wiki_callback') && Auth::user() !== null){
22
            return $this->redirectToWiki($request);
23
        }
24
25
        if (Auth::guard($guard)->check()) {
26
            return redirect(RouteServiceProvider::HOME);
27
        }
28
29
        return $next($request);
30
    }
31
32
    private function redirectToWiki($request)
33
    {
34
        $user = Auth::user();
35
        $user->wiki_token = $request->input('wiki_token');
0 ignored issues
show
Bug Best Practice introduced by
The property wiki_token does not exist on App\User. Since you implemented __set, consider adding a @property annotation.
Loading history...
36
        $user->save();
37
        $callback = urldecode($request->input('wiki_callback'));
38
        return redirect($callback);
39
    }
40
}
41