PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.9.1
GiveWP – Donation Plugin and Fundraising Platform v2.9.1
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / PaymentGateways / PaypalSettingPage.php
give / src / PaymentGateways Last commit date
PayPalCommerce 5 years ago PayPalStandard 5 years ago PaymentGateway.php 5 years ago PaypalSettingPage.php 5 years ago SettingPage.php 5 years ago
PaypalSettingPage.php
122 lines
1 <?php
2 namespace Give\PaymentGateways;
3
4 use Give\PaymentGateways\PayPalCommerce\PayPalCommerce;
5 use Give\PaymentGateways\PayPalCommerce\AdminSettingFields;
6 use Give\PaymentGateways\PayPalStandard\PayPalStandard;
7 use function give_get_current_setting_section as getCurrentSettingSection;
8
9 /**
10 * Class PaypalSettingSection
11 * @package Give\PaymentGateways
12 *
13 * @sicne 2.9.0
14 */
15 class PaypalSettingPage implements SettingPage {
16 /**
17 * @var PayPalCommerce
18 */
19 private $payPalCommerce;
20
21 /**
22 * @var PayPalStandard
23 */
24 private $paypalStandard;
25
26 /**
27 * Register properties
28 *
29 * @param PayPalCommerce $payPalCommerce
30 * @param PayPalStandard $paypalStandard
31 *
32 * @since 2.9.0
33 */
34 public function __construct( PayPalCommerce $payPalCommerce, PayPalStandard $paypalStandard ) {
35 $this->payPalCommerce = $payPalCommerce;
36 $this->paypalStandard = $paypalStandard;
37 }
38
39 /**
40 * @inheritDoc
41 */
42 public function boot() {
43 add_action( 'give_get_groups_paypal', [ $this, 'getGroups' ] );
44 add_filter( 'give_get_settings_gateways', [ $this, 'registerPaypalSettings' ] );
45 add_filter( 'give_get_sections_gateways', [ $this, 'registerPaypalSettingSection' ], 5 );
46
47 // Load custom setting fields.
48 $adminSettingFields = new AdminSettingFields();
49 $adminSettingFields->boot();
50 }
51
52 /**
53 * @inheritDoc
54 */
55 public function getId() {
56 return 'paypal';
57 }
58
59 /**
60 * @inheritDoc
61 */
62 public function getName() {
63 return esc_html__( 'PayPal', 'give' );
64 }
65
66 /**
67 * @inheritDoc
68 */
69 public function getSettings() {
70 $settings[ $this->payPalCommerce->getId() ] = $this->payPalCommerce->getOptions();
71 $settings[ $this->paypalStandard->getId() ] = $this->paypalStandard->getOptions();
72
73 return $settings;
74 }
75
76 /**
77 * Get groups.
78 *
79 * @since 2.9.0
80 *
81 * @return array
82 */
83 public function getGroups() {
84 return [
85 $this->payPalCommerce->getId() => $this->payPalCommerce->getName(),
86 $this->paypalStandard->getId() => $this->paypalStandard->getName(),
87 ];
88 }
89
90 /**
91 * Register settings.
92 *
93 * @param array $settings
94 *
95 * @since 2.9.0
96 *
97 * @return array
98 */
99 public function registerPaypalSettings( $settings ) {
100 $currentSection = getCurrentSettingSection();
101
102 return $currentSection === $this->getId() ?
103 $this->getSettings() :
104 $settings;
105 }
106
107 /**
108 * Register setting section.
109 *
110 * @param array $sections
111 *
112 * @since 2.9.0
113 *
114 * @return array
115 */
116 public function registerPaypalSettingSection( $sections ) {
117 $sections[ $this->getId() ] = $this->getName();
118
119 return $sections;
120 }
121 }
122