BouncerController::verification()   A
last analyzed

Complexity

Conditions 5
Paths 7

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 5
eloc 12
c 1
b 0
f 1
nc 7
nop 1
dl 0
loc 16
rs 9.5555
1
<?php
2
3
namespace Pratiksh\Adminetic\Http\Controllers\Auth;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Routing\Controller;
7
8
class BouncerController extends Controller
9
{
10
    /**
11
     * Bouncer verfication page.
12
     */
13
    public function verification_page()
14
    {
15
        return view('adminetic::admin.auth.verification_page');
16
    }
17
18
    /**
19
     * Bouncer Verfication.
20
     */
21
    public function verification(Request $request)
22
    {
23
        $request->validate([
24
            'verfication_code' => 'required',
25
        ]);
26
        if ($request->has('verfication_code')) {
27
            $credential = (session()->has('destination_password') ? session()->get('destination_password') : config('adminetic.default_bouncer_credential', 'adminetic'));
28
            if ($request->verfication_code == $credential) {
29
                $verified_routes = session()->get('verified_routes') ?? [];
30
                $destination_route = session()->has('destination_route') ? session()->get('destination_route') : url()->previous();
31
                array_push($verified_routes, $destination_route);
32
                session()->put('verified_routes', array_unique($verified_routes));
33
34
                return redirect()->to($destination_route)->withSuccess('Verified Successfully');
35
            } else {
36
                return redirect()->back()->withFail('Invalid Verfication Code');
37
            }
38
        }
39
    }
40
}
41