Test Failed
Push — develop ( fd928b...40893b )
by Remco
04:14
created

GatewaysResponseMessage::parse()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 13
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\MultiSafepay\XML;
4
5
use Pronamic\WordPress\Pay\Core\XML\Security;
6
use SimpleXMLElement;
7
8
/**
9
 * Title: MultiSafepay Connect XML gateways response message
10
 * Description:
11
 * Copyright: 2005-2019 Pronamic
12
 * Company: Pronamic
13
 *
14
 * @author  Remco Tolsma
15
 * @version 2.0.2
16
 * @since   1.2.0
17
 */
18
class GatewaysResponseMessage {
19
	/**
20
	 * Gateways.
21
	 *
22
	 * @var array
23
	 */
24
	public $gateways;
25
26
	/**
27
	 * Parse the specified XML element into an iDEAL transaction object
28
	 *
29
	 * @param SimpleXMLElement $xml
30
	 *
31
	 * @return GatewaysResponseMessage
32
	 */
33
	public static function parse( SimpleXMLElement $xml ) {
34
		$message = new GatewaysResponseMessage();
35
36
		$message->gateways = array();
37
38
		foreach ( $xml->gateways->gateway as $gateway ) {
39
			$id          = Security::filter( $gateway->id );
40
			$description = Security::filter( $gateway->description );
41
42
			$message->gateways[ $id ] = $description;
43
		}
44
45
		return $message;
46
	}
47
}
48