Test Failed
Push — master ( 12f600...60caf1 )
by Remco
20:03 queued 11:56
created

Integration::get_config()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 27
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 3
eloc 19
nc 4
nop 1
dl 0
loc 27
ccs 0
cts 2
cp 0
crap 12
rs 9.6333
c 2
b 0
f 0
1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\Ingenico\OrderStandard;
4
5
use Pronamic\WordPress\Pay\Gateways\Ingenico\AbstractIntegration;
6
use Pronamic\WordPress\Pay\Gateways\Ingenico\Settings;
7
8
class Integration extends AbstractIntegration {
9
	public function __construct( $args = array() ) {
10
		$args = wp_parse_args(
11
			$args,
12
			array(
13
				'id'   => 'ogone-orderstandard',
14
				'name' => 'Ingenico/Ogone - e-Commerce',
15
			)
16
		);
17
18
		parent::__construct( $args );
19
	}
20
21
	/**
22
	 * Get settings fields.
23
	 *
24
	 * @return array
25
	 */
26
	public function get_settings_fields() {
27
		return Settings::get_settings_fields( 'standard' );
28
	}
29
30
	public function get_config( $post_id ) {
31
		$mode = get_post_meta( $post_id, '_pronamic_gateway_mode', true );
32
33
		$config_class = ( Gateway::MODE_TEST === $mode ) ? __NAMESPACE__ . '\TestConfig' : __NAMESPACE__ . '\Config';
34
35
		$config = new $config_class();
36
37
		$form_action_url = get_post_meta( $post_id, '_pronamic_gateway_ogone_form_action_url', true );
38
39
		if ( '' !== $form_action_url ) {
40
			$config->set_form_action_url( $form_action_url );
41
		}
42
43
		$config->mode                = $mode;
44
		$config->psp_id              = get_post_meta( $post_id, '_pronamic_gateway_ogone_psp_id', true );
45
		$config->hash_algorithm      = get_post_meta( $post_id, '_pronamic_gateway_ogone_hash_algorithm', true );
46
		$config->sha_in_pass_phrase  = get_post_meta( $post_id, '_pronamic_gateway_ogone_sha_in_pass_phrase', true );
47
		$config->sha_out_pass_phrase = get_post_meta( $post_id, '_pronamic_gateway_ogone_sha_out_pass_phrase', true );
48
		$config->user_id             = get_post_meta( $post_id, '_pronamic_gateway_ogone_user_id', true );
49
		$config->password            = get_post_meta( $post_id, '_pronamic_gateway_ogone_password', true );
50
		$config->order_id            = get_post_meta( $post_id, '_pronamic_gateway_ogone_order_id', true );
51
		$config->param_var           = get_post_meta( $post_id, '_pronamic_gateway_ogone_param_var', true );
52
		$config->template_page       = get_post_meta( $post_id, '_pronamic_gateway_ogone_template_page', true );
53
		$config->alias_enabled       = get_post_meta( $post_id, '_pronamic_gateway_ogone_alias_enabled', true );
54
		$config->alias_usage         = get_post_meta( $post_id, '_pronamic_gateway_ogone_alias_usage', true );
55
56
		return $config;
57
	}
58
59
	/**
60
	 * Get gateway.
61
	 *
62
	 * @param int $post_id Post ID.
63
	 * @return Gateway
64
	 */
65
	public function get_gateway( $post_id ) {
66
		return new Gateway( $this->get_config( $post_id ) );
67
	}
68
}
69