Completed
Push — master ( a4831f...a4416a )
by ARCANEDEV
07:50
created

TrackingManager::checkSessionData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 2
crap 2
1
<?php namespace Arcanedev\LaravelTracker;
2
3
/**
4
 * Class     TrackingManager
5
 *
6
 * @package  Arcanedev\LaravelTracker
7
 * @author   ARCANEDEV <[email protected]>
8
 */
9
class TrackingManager
10
{
11
    /* ------------------------------------------------------------------------------------------------
12
     |  Getters & Setters
13
     | ------------------------------------------------------------------------------------------------
14
     */
15
    /**
16
     * Get the user agent tracker.
17
     *
18
     * @return Trackers\UserAgentTracker
19
     */
20
    public function getUserAgentTracker()
21
    {
22
        return new Trackers\UserAgentTracker;
23
    }
24
25
    /* ------------------------------------------------------------------------------------------------
26
     |  Main Functions
27
     | ------------------------------------------------------------------------------------------------
28
     */
29
    /**
30
     * Track the user.
31
     *
32
     * @return int|null
33
     */
34 6
    public function trackUser()
35
    {
36 6
        return (new Trackers\UserTracker)->track();
37
    }
38
39
    /**
40
     * Track the device.
41
     *
42
     * @return int
43
     */
44 6
    public function trackDevice()
45
    {
46 6
        return (new Trackers\DeviceTracker)->track();
47
    }
48
49
    /**
50
     * Track the ip address.
51
     *
52
     * @param  string  $ipAddress
53
     *
54
     * @return int|null
55
     */
56 3
    public function trackGeoIp($ipAddress)
57 3
    {
58
        return (new Trackers\GeoIpTracker)->track($ipAddress);
59
    }
60
61
    /**
62
     * Track the user agent.
63
     *
64
     * @return int
65
     */
66
    public function trackUserAgent()
67
    {
68
        return $this->getUserAgentTracker()->track();
69
    }
70
71
    /**
72
     * Track the referer.
73
     *
74
     * @param  string  $refererUrl
75
     * @param  string  $pageUrl
76
     *
77
     * @return int|null
78
     */
79
    public function trackReferer($refererUrl, $pageUrl)
80
    {
81
        return (new Trackers\RefererTracker)->track($refererUrl, $pageUrl);
82
    }
83
84
    /**
85
     * Track the cookie.
86
     *
87
     * @param  mixed  $cookie
88
     *
89
     * @return int|null
90
     */
91
    public function trackCookie($cookie)
92
    {
93
        return (new Trackers\CookieTracker)->track($cookie);
94
    }
95
96
    /**
97
     * Track the language.
98
     *
99
     * @return int
100
     */
101
    public function trackLanguage()
102
    {
103
        return (new Trackers\LanguageTracker)->track();
104
    }
105
106
    /**
107
     * Track the session.
108
     *
109
     * @param  array  $data
110
     */
111
    public function trackSession(array $data)
112
    {
113
        return (new Trackers\SessionTracker)->track($data);
114
    }
115
116
    /**
117
     * Check the session data.
118
     *
119
     * @param  array  $data
120
     * @param  array  $currentData
121
     *
122
     * @return array
123
     */
124
    public function checkSessionData(array $data, array $currentData)
125
    {
126
        return (new Trackers\SessionTracker)->checkData($data, $currentData);
127
    }
128
}
129