Passed
Push — develop ( 1f7b8a...ebd8d2 )
by Remco
05:15
created

PaymentsModule   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A log_payment_status_update() 0 5 1
A __construct() 0 5 1
1
<?php
2
/**
3
 * Payments Module
4
 *
5
 * @author    Pronamic <[email protected]>
6
 * @copyright 2005-2018 Pronamic
7
 * @license   GPL-3.0-or-later
8
 * @package   Pronamic\WordPress\Pay\Subscriptions
9
 */
10
11
namespace Pronamic\WordPress\Pay\Payments;
12
13
use Pronamic\WordPress\Pay\Plugin;
14
15
/**
16
 * Title: Payments module
17
 * Description:
18
 * Copyright: Copyright (c) 2005 - 2018
19
 * Company: Pronamic
20
 *
21
 * @see https://woocommerce.com/2017/04/woocommerce-3-0-release/
22
 * @see https://woocommerce.wordpress.com/2016/10/27/the-new-crud-classes-in-woocommerce-2-7/
23
 * @author Remco Tolsma
24
 * @version 3.7.0
25
 * @since 3.7.0
26
 */
27
class PaymentsModule {
28
	/**
29
	 * Plugin.
30
	 *
31
	 * @var Plugin $plugin
32
	 */
33
	public $plugin;
34
35
	/**
36
	 * Construct and initialize a payments module object.
37
	 *
38
	 * @param Plugin $plugin The plugin.
39
	 */
40
	public function __construct( Plugin $plugin ) {
41
		$this->plugin = $plugin;
42
43
		// Listen to payment status changes so we can log these in a note.
44
		add_action( 'pronamic_payment_status_update', array( $this, 'log_payment_status_update' ), 10, 4 );
45
	}
46
47
	/**
48
	 * Payment status update.
49
	 *
50
	 * @param Payment $payment The status updated payment.
51
	 */
52
	public function log_payment_status_update( $payment, $can_redirect, $old_status, $new_status ) {
53
		$payment->add_note( sprintf(
54
			__( 'Payment status changed from "%1$s" to "%2$s".', 'pronamic_ideal' ),
55
			esc_html( $this->plugin->payments_data_store->get_meta_status_label( $old_status ) ),
56
			esc_html( $this->plugin->payments_data_store->get_meta_status_label( $new_status ) )
57
		) );
58
	}
59
}
60