Domain   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 4
dl 0
loc 27
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setDomain() 0 8 2
A setPeriod() 0 4 1
A setAuthInfo() 0 8 2
1
<?php
2
3
/**
4
 * This file is part of the php-epp2 library.
5
 *
6
 * (c) Gunter Grodotzki <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE file
9
 * that was distributed with this source code.
10
 */
11
12
namespace AfriCC\EPP\Frame\Command\Transfer;
13
14
use AfriCC\EPP\Frame\Command\Transfer as TransferCommand;
15
use AfriCC\EPP\PeriodTrait;
16
use AfriCC\EPP\Validator;
17
use Exception;
18
19
/**
20
 * @see http://tools.ietf.org/html/rfc5731#section-3.2.4
21
 */
22
class Domain extends TransferCommand
23
{
24
    use PeriodTrait;
25
26
    public function setDomain($domain)
27
    {
28
        if (!Validator::isHostname($domain)) {
29
            throw new Exception(sprintf('%s is not a valid domain name', $domain));
30
        }
31
32
        $this->set('domain:name', $domain);
33
    }
34
35
    public function setPeriod($period)
36
    {
37
        $this->appendPeriod('domain:period[@unit=\'%s\']', $period);
38
    }
39
40
    public function setAuthInfo($pw, $roid = null)
41
    {
42
        $node = $this->set('domain:authInfo/domain:pw', $pw);
43
44
        if ($roid !== null) {
45
            $node->setAttribute('roid', $roid);
46
        }
47
    }
48
}
49