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

Cookies::saveToken()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
ccs 5
cts 5
cp 1
rs 9.4286
cc 2
eloc 3
nc 2
nop 1
crap 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