Kontakt::authenticate()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 13
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 13
rs 9.9332
cc 4
nc 4
nop 2
1
<?php
2
3
/**
4
 * FlexiPeeHP - Objekt kontaktu.
5
 *
6
 * @author     Vítězslav Dvořák <[email protected]>
7
 * @copyright  (C) 2015-2017 Spoje.Net
8
 */
9
10
namespace FlexiPeeHP;
11
12
use FlexiPeeHP\Firma;
13
use FlexiPeeHP\RW;
14
use FlexiPeeHP\Stitky;
15
16
/**
17
 * Kontakt adresáře
18
 *
19
 * @link https://demo.flexibee.eu/c/demo/kontakt/properties
20
 */
21
class Kontakt extends RW
22
{
23
24
    use Stitky;
25
    use Firma;
26
    /**
27
     * Evidence užitá objektem.
28
     *
29
     * @var string
30
     */
31
    public $evidence = 'kontakt';
32
33
    /**
34
     * Authenticate by contact
35
     *
36
     * @link https://www.flexibee.eu/api/dokumentace/ref/autentizace-kontaktu/ Contact Auth
37
     * @param string $login
38
     * @param string $password
39
     * 
40
     * @return boolean
41
     */
42
    public function authenticate($login, $password)
43
    {
44
        $defaultHttpHeaders                       = $this->defaultHttpHeaders;
45
        $this->defaultHttpHeaders['Content-Type'] = 'application/x-www-form-urlencoded';
46
        $this->setPostFields(http_build_query(['username' => $login, 'password' => $password]));
47
        $result                                   = $this->performRequest('authenticate',
48
            'POST', 'xml');
49
        $this->defaultHttpHeaders                 = $defaultHttpHeaders;
50
        if (!empty($result['message'])) {
51
            $this->addStatusMessage($result['message'],
52
                $result['success'] == 'true' ? 'success' : 'warning' );
53
        }
54
        return array_key_exists('success', $result) && $result['success'] == 'true';
55
    }
56
}
57