Failed Conditions
Push — develop ( 5b958e...93bfb6 )
by Remco
05:43 queued 01:38
created

src/Connect/ConfigFactory.php (1 issue)

1
<?php
2
3
namespace Pronamic\WordPress\Pay\Gateways\MultiSafepay\Connect;
4
5
use Pronamic\WordPress\Pay\Core\Gateway;
0 ignored issues
show
This use statement conflicts with another class in this namespace, Pronamic\WordPress\Pay\G...Safepay\Connect\Gateway. Consider defining an alias.

Let?s assume that you have a directory layout like this:

.
|-- OtherDir
|   |-- Bar.php
|   `-- Foo.php
`-- SomeDir
    `-- Foo.php

and let?s assume the following content of Bar.php:

// Bar.php
namespace OtherDir;

use SomeDir\Foo; // This now conflicts the class OtherDir\Foo

If both files OtherDir/Foo.php and SomeDir/Foo.php are loaded in the same runtime, you will see a PHP error such as the following:

PHP Fatal error:  Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php

However, as OtherDir/Foo.php does not necessarily have to be loaded and the error is only triggered if it is loaded before OtherDir/Bar.php, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias:

// Bar.php
namespace OtherDir;

use SomeDir\Foo as SomeDirFoo; // There is no conflict anymore.
Loading history...
6
use Pronamic\WordPress\Pay\Core\GatewayConfigFactory;
7
use Pronamic\WordPress\Pay\Gateways\MultiSafepay\MultiSafepay;
8
9
/**
10
 * Title: MultiSafepay config factory
11
 * Description:
12
 * Copyright: 2005-2019 Pronamic
13
 * Company: Pronamic
14
 *
15
 * @author  Remco Tolsma
16
 * @version 2.0.2
17
 * @since   1.2.6
18
 */
19
class ConfigFactory extends GatewayConfigFactory {
20
	/**
21
	 * Get config.
22
	 *
23
	 * @param $post_id
24
	 *
25
	 * @return Config
26
	 */
27
	public function get_config( $post_id ) {
28
		$config = new Config();
29
30
		$config->mode       = get_post_meta( $post_id, '_pronamic_gateway_mode', true );
31
		$config->account_id = get_post_meta( $post_id, '_pronamic_gateway_multisafepay_account_id', true );
32
		$config->site_id    = get_post_meta( $post_id, '_pronamic_gateway_multisafepay_site_id', true );
33
		$config->site_code  = get_post_meta( $post_id, '_pronamic_gateway_multisafepay_site_code', true );
34
35
		if ( Gateway::MODE_TEST === $config->mode ) {
36
			$config->api_url = MultiSafepay::API_TEST_URL;
37
		} else {
38
			$config->api_url = MultiSafepay::API_PRODUCTION_URL;
39
		}
40
41
		return $config;
42
	}
43
}
44