Completed
Push — master ( ab5a98...e81852 )
by keika
02:05
created

Cookies   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 74
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 94.74%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 9
c 1
b 0
f 0
lcom 1
cbo 1
dl 0
loc 74
ccs 18
cts 19
cp 0.9474
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A saveToken() 0 6 2
A loadToken() 0 8 2
A isStoreTokenCookie() 0 4 2
A getStoreTokenCookieName() 0 8 2
1
<?php
2
3
namespace keika299\ConohaAPI\Common\DataStore;
4
5
6
use keika299\ConohaAPI\Conoha;
7
8
/**
9
 * Class Cookies
10
 *
11
 * This class manage cookies.
12
 *
13
 * @package keika299\ConohaAPI\Common
14
 */
15
class Cookies
16
{
17
    /**
18
     * @var Conoha
19
     */
20
    private $client;
21
    private $cookiesData;
22
23
    /**
24
     * Cookies constructor.
25
     *
26
     * @param Conoha $client
27
     */
28 55
    public function __construct(Conoha $client)
29
    {
30 55
        $this->client = $client;
31 55
        $this->cookiesData = $client->getCookiesData();
32 55
    }
33
34
    /**
35
     * Save token.
36
     *
37
     * @param string $token
38
     * @return null
39
     */
40 55
    public function saveToken($token)
41
    {
42 55
        if ($this->isStoreTokenCookie()) {
43 1
            setcookie($this->getStoreTokenCookieName(), $token);
44 1
        }
45 55
    }
46
47
    /**
48
     * Get stored token.
49
     *
50
     * If not set token cookie, this function will return null.
51
     *
52
     * @return string|null
53
     */
54 2
    public function loadToken()
55
    {
56 2
        if ($this->isStoreTokenCookie()){
57
            return filter_input(INPUT_COOKIE, $this->getStoreTokenCookieName());
58
        }
59
60 2
        return null;
61
    }
62
63
    /**
64
     * Get allow store token cookie.
65
     *
66
     * @return bool
67
     */
68 55
    public function isStoreTokenCookie()
69
    {
70 55
        return (isset($this->cookiesData['isStoreTokenCookie']) && $this->cookiesData['isStoreTokenCookie']);
71
    }
72
73
    /**
74
     * Get store token cookie name.
75
     *
76
     * Default value is 'ConohaAPIToken'.
77
     *
78
     * @return string
79
     */
80 2
    public function getStoreTokenCookieName()
81
    {
82 2
        if (isset($this->cookiesData['storeTokenCookieName'])) {
83 1
            return $this->cookiesData['storeTokenCookieName'];
84
        }
85
86 1
        return 'ConohaAPIToken';
87
    }
88
}
89