LogUserAccess::handle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 0
cts 9
cp 0
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace SET\Listeners;
4
5
use Carbon\Carbon;
6
use Illuminate\Support\Facades\Auth;
7
use Illuminate\Support\Facades\Session;
8
use SET\User;
9
10
class LogUserAccess
11
{
12
    /**
13
     * Build the event handler.
14
     */
15
    public function __construct()
16
    {
17
        //
18
    }
19
20
    /**
21
     * Call to add missing users, flash last login and then update those records.
22
     *
23
     * @param User $login
24
     */
25
    public function handle($login)
26
    {
27
        $user = $login->user;
28
        Session::flash('last_logon', $user->last_logon);
29
        Session::flash('ip', $user->ip);
30
        Auth::user()->last_logon = Carbon::now();
31
        Auth::user()->ip = $this->userIP();
32
33
        Auth::user()->save();
34
    }
35
36
    private function userIP()
37
    {
38
        if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
39
            return array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
40
        }
41
42
        return $_SERVER && isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'No IP Found';
43
    }
44
}
45