IssuerParser   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 7
c 0
b 0
f 0
dl 0
loc 18
ccs 0
cts 8
cp 0
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A parse() 0 10 2
1
<?php
2
/**
3
 * Issuer parser.
4
 *
5
 * @author    Pronamic <[email protected]>
6
 * @copyright 2005-2021 Pronamic
7
 * @license   GPL-3.0-or-later
8
 * @package   Pronamic\WordPress\Pay
9
 */
10
11
namespace Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\XML;
12
13
use Pronamic\WordPress\Pay\Core\XML\Security;
14
use Pronamic\WordPress\Pay\Gateways\IDealAdvancedV3\Issuer;
15
use SimpleXMLElement;
16
17
/**
18
 * Title: Issuer XML parser
19
 * Description:
20
 * Copyright: 2005-2021 Pronamic
21
 * Company: Pronamic
22
 *
23
 * @author  Remco Tolsma
24
 * @version 2.0.0
25
 */
26
class IssuerParser implements Parser {
27
	/**
28
	 * Parse
29
	 *
30
	 * @param SimpleXMLElement $xml    XML.
31
	 * @param Issuer           $issuer Issuer.
32
	 * @return Issuer
33
	 */
34
	public static function parse( SimpleXMLElement $xml, $issuer = null ) {
35
		if ( ! $issuer instanceof Issuer ) {
36
			$issuer = new Issuer();
37
		}
38
39
		$issuer->set_id( Security::filter( $xml->issuerID ) );
40
		$issuer->set_name( Security::filter( $xml->issuerName ) );
41
		$issuer->set_authentication_url( Security::filter( $xml->issuerAuthenticationURL ) );
42
43
		return $issuer;
44
	}
45
}
46